Lines Matching refs:Constant
50 CharUnits getAlignment(const llvm::Constant *C) const { in getAlignment()
59 CharUnits getSize(const llvm::Constant *C) const { in getSize()
63 llvm::Constant *getPadding(CharUnits PadSize) const { in getPadding()
70 llvm::Constant *getZeroes(CharUnits ZeroSize) const { in getZeroes()
87 llvm::SmallVector<llvm::Constant*, 32> Elems;
102 static llvm::Constant *buildFrom(CodeGenModule &CGM,
103 ArrayRef<llvm::Constant *> Elems,
118 bool add(llvm::Constant *C, CharUnits Offset, bool AllowOverwrite);
132 llvm::Constant *build(llvm::Type *DesiredTy, bool AllowOversized) const { in build()
145 bool ConstantAggregateBuilder::add(llvm::Constant *C, CharUnits Offset, in add()
254 llvm::Constant *&ToUpdate = Elems[*FirstElemToUpdate]; in addBits()
320 llvm::Constant *C = Elems[Index]; in split()
395 static llvm::Constant *
398 SmallVectorImpl<llvm::Constant *> &Elements,
399 llvm::Constant *Filler);
401 llvm::Constant *ConstantAggregateBuilder::buildFrom( in buildFrom()
402 CodeGenModule &CGM, ArrayRef<llvm::Constant *> Elems, in buildFrom()
419 llvm::Constant *Filler = llvm::Constant::getNullValue(CommonType); in buildFrom()
421 SmallVector<llvm::Constant*, 32> ArrayElements; in buildFrom()
456 for (llvm::Constant *C : Elems) in buildFrom()
463 ArrayRef<llvm::Constant*> UnpackedElems = Elems; in buildFrom()
464 llvm::SmallVector<llvm::Constant*, 32> UnpackedElemStorage; in buildFrom()
480 llvm::SmallVector<llvm::Constant*, 32> PackedElems; in buildFrom()
548 llvm::Constant *Replacement = buildFrom( in condense()
567 static llvm::Constant *BuildStruct(ConstantEmitter &Emitter,
570 static llvm::Constant *BuildStruct(ConstantEmitter &Emitter,
583 llvm::Constant *InitExpr, bool AllowOverwrite = false);
585 bool AppendBytes(CharUnits FieldOffsetInChars, llvm::Constant *InitCst,
589 llvm::Constant *InitExpr, bool AllowOverwrite = false);
594 llvm::Constant *Finalize(QualType Ty);
598 const FieldDecl *Field, uint64_t FieldOffset, llvm::Constant *InitCst, in AppendField()
608 llvm::Constant *InitCst, in AppendBytes()
614 uint64_t FieldOffset, llvm::Constant *C, in AppendBitField()
625 llvm::Constant *FoldedConstant = llvm::ConstantFoldLoadFromConst( in AppendBitField()
667 llvm::Constant *FillC = nullptr; in EmitDesignatedInitUpdater()
695 llvm::Constant *Val = Emitter.tryEmitPrivateForMemory(Init, ElemType); in EmitDesignatedInitUpdater()
765 llvm::Constant *EltInit = in Build()
814 llvm::Constant *VTableAddressPoint = in Build()
868 llvm::Constant *EltInit = in Build()
893 llvm::Constant *ConstStructBuilder::Finalize(QualType Type) { in Finalize()
900 llvm::Constant *ConstStructBuilder::BuildStruct(ConstantEmitter &Emitter, in BuildStruct()
912 llvm::Constant *ConstStructBuilder::BuildStruct(ConstantEmitter &Emitter, in BuildStruct()
948 llvm::Constant *C = emitter.tryEmitForInitializer(E->getInitializer(), in tryEmitGlobalCompoundLiteral()
968 static llvm::Constant *
971 SmallVectorImpl<llvm::Constant *> &Elements, in EmitArrayConstant()
972 llvm::Constant *Filler) { in EmitArrayConstant()
994 llvm::Constant *Initial = llvm::ConstantArray::get( in EmitArrayConstant()
1023 for (llvm::Constant *Elt : Elements) in EmitArrayConstant()
1037 : public ConstStmtVisitor<ConstExprEmitter, llvm::Constant *, QualType> {
1050 llvm::Constant *VisitStmt(const Stmt *S, QualType T) { return nullptr; } in VisitStmt()
1052 llvm::Constant *VisitConstantExpr(const ConstantExpr *CE, QualType T) { in VisitConstantExpr()
1053 if (llvm::Constant *Result = Emitter.tryEmitConstantExpr(CE)) in VisitConstantExpr()
1058 llvm::Constant *VisitParenExpr(const ParenExpr *PE, QualType T) { in VisitParenExpr()
1062 llvm::Constant *
1068 llvm::Constant *VisitGenericSelectionExpr(const GenericSelectionExpr *GE, in VisitGenericSelectionExpr()
1073 llvm::Constant *VisitChooseExpr(const ChooseExpr *CE, QualType T) { in VisitChooseExpr()
1077 llvm::Constant *VisitCompoundLiteralExpr(const CompoundLiteralExpr *E, in VisitCompoundLiteralExpr()
1082 llvm::Constant *ProduceIntToIntCast(const Expr *E, QualType DestType) { in ProduceIntToIntCast()
1086 if (llvm::Constant *C = Visit(E, FromType)) in ProduceIntToIntCast()
1100 llvm::Constant *VisitCastExpr(const CastExpr *E, QualType destType) { in VisitCastExpr()
1121 SmallVector<llvm::Constant*, 2> Elts; in VisitCastExpr()
1258 llvm::Constant *VisitCXXDefaultInitExpr(const CXXDefaultInitExpr *DIE, in VisitCXXDefaultInitExpr()
1265 llvm::Constant *VisitExprWithCleanups(const ExprWithCleanups *E, QualType T) { in VisitExprWithCleanups()
1269 llvm::Constant *VisitIntegerLiteral(const IntegerLiteral *I, QualType T) { in VisitIntegerLiteral()
1290 llvm::Constant *EmitArrayInitialization(const InitListExpr *ILE, QualType T) { in EmitArrayInitialization()
1313 llvm::Constant *fillC = nullptr; in EmitArrayInitialization()
1321 SmallVector<llvm::Constant *, 16> Elts; in EmitArrayInitialization()
1329 llvm::Constant *C = nullptr; in EmitArrayInitialization()
1349 llvm::Constant *C; in EmitArrayInitialization()
1384 llvm::Constant *EmitRecordInitialization(const InitListExpr *ILE, in EmitRecordInitialization()
1389 llvm::Constant *VisitImplicitValueInitExpr(const ImplicitValueInitExpr *E, in VisitImplicitValueInitExpr()
1394 llvm::Constant *VisitInitListExpr(const InitListExpr *ILE, QualType T) { in VisitInitListExpr()
1407 llvm::Constant *
1428 llvm::Constant *VisitCXXConstructExpr(const CXXConstructExpr *E, in VisitCXXConstructExpr()
1454 llvm::Constant *VisitStringLiteral(const StringLiteral *E, QualType T) { in VisitStringLiteral()
1459 llvm::Constant *VisitObjCEncodeExpr(const ObjCEncodeExpr *E, QualType T) { in VisitObjCEncodeExpr()
1474 llvm::Constant *VisitUnaryExtension(const UnaryOperator *E, QualType T) { in VisitUnaryExtension()
1478 llvm::Constant *VisitUnaryMinus(const UnaryOperator *U, QualType T) { in VisitUnaryMinus()
1479 if (llvm::Constant *C = Visit(U->getSubExpr(), T)) in VisitUnaryMinus()
1485 llvm::Constant *VisitPackIndexingExpr(const PackIndexingExpr *E, QualType T) { in VisitPackIndexingExpr()
1497 llvm::Constant *ConstantEmitter::validateAndPopAbstract(llvm::Constant *C, in validateAndPopAbstract()
1509 llvm::Constant *
1516 llvm::Constant *
1523 llvm::Constant *
1530 llvm::Constant *ConstantEmitter::tryEmitConstantExpr(const ConstantExpr *CE) { in tryEmitConstantExpr()
1541 llvm::Constant *
1554 llvm::Constant *
1570 llvm::Constant *ConstantEmitter::tryEmitForInitializer(const VarDecl &D) { in tryEmitForInitializer()
1575 llvm::Constant *ConstantEmitter::tryEmitForInitializer(const Expr *E, in tryEmitForInitializer()
1582 llvm::Constant *ConstantEmitter::emitForInitializer(const APValue &value, in emitForInitializer()
1611 void ConstantEmitter::registerCurrentAddrPrivate(llvm::Constant *signal, in registerCurrentAddrPrivate()
1624 llvm::Constant *Base;
1628 llvm::DenseMap<llvm::Constant*, llvm::GlobalVariable*> PlaceholderAddresses;
1631 llvm::DenseMap<llvm::GlobalVariable*, llvm::Constant*> Locations;
1637 llvm::SmallVector<llvm::Constant*, 8> IndexValues;
1639 ReplacePlaceholders(CodeGenModule &CGM, llvm::Constant *base, in ReplacePlaceholders()
1640 ArrayRef<std::pair<llvm::Constant*, in ReplacePlaceholders()
1646 void replaceInInitializer(llvm::Constant *init) { in replaceInInitializer()
1677 void findLocations(llvm::Constant *init) { in findLocations()
1733 llvm::Constant *location = llvm::ConstantExpr::getInBoundsGetElementPtr( in setLocation()
1771 llvm::Constant *ConstantEmitter::tryEmitPrivateForVarInit(const VarDecl &D) { in tryEmitPrivateForVarInit()
1793 if (llvm::Constant *C = ConstExprEmitter(*this).Visit(E, nonMemoryDestType)) in tryEmitPrivateForVarInit()
1805 llvm::Constant *
1812 llvm::Constant *
1820 llvm::Constant *ConstantEmitter::tryEmitPrivateForMemory(const Expr *E, in tryEmitPrivateForMemory()
1823 llvm::Constant *C = tryEmitPrivate(E, nonMemoryDestType); in tryEmitPrivateForMemory()
1827 llvm::Constant *ConstantEmitter::tryEmitPrivateForMemory(const APValue &value, in tryEmitPrivateForMemory()
1839 llvm::Constant *
1840 ConstantEmitter::tryEmitConstantSignedPointer(llvm::Constant *UnsignedPointer, in tryEmitConstantSignedPointer()
1862 llvm::Constant *SignedPointer = CGM.getConstantSignedPointer( in tryEmitConstantSignedPointer()
1871 llvm::Constant *ConstantEmitter::emitForMemory(CodeGenModule &CGM, in emitForMemory()
1872 llvm::Constant *C, in emitForMemory()
1885 llvm::Constant *elts[] = { in emitForMemory()
1896 llvm::Constant *Res = llvm::ConstantFoldCastOperand( in emitForMemory()
1908 llvm::Constant *Res = llvm::ConstantFoldCastOperand( in emitForMemory()
1926 llvm::Constant *ConstantEmitter::tryEmitPrivate(const Expr *E, in tryEmitPrivate()
1931 if (llvm::Constant *C = ConstExprEmitter(*this).Visit(E, destType)) in tryEmitPrivate()
1949 llvm::Constant *CodeGenModule::getNullPointer(llvm::PointerType *T, QualType QT) { in getNullPointer()
1957 llvm::Constant *Value;
1960 /*implicit*/ ConstantLValue(llvm::Constant *value, in ConstantLValue()
1988 llvm::Constant *tryEmit();
1991 llvm::Constant *tryEmitAbsolute(llvm::Type *destTy);
2010 llvm::Constant *emitPointerAuthPointer(const Expr *E);
2012 std::pair<llvm::Constant *, llvm::ConstantInt *>
2020 llvm::Constant *getOffset() { in getOffset()
2026 llvm::Constant *applyOffset(llvm::Constant *C) { in applyOffset()
2036 llvm::Constant *ConstantLValueEmitter::tryEmit() { in tryEmit()
2059 llvm::Constant *value = result.Value; in tryEmit()
2077 llvm::Constant *
2090 llvm::Constant *C; in tryEmitAbsolute()
2109 auto PtrAuthSign = [&](llvm::Constant *C) { in tryEmitBase()
2167 if (llvm::Constant *Result = Emitter.tryEmitConstantExpr(E)) in VisitConstantExpr()
2217 llvm::Constant *Ptr = Emitter.CGF->GetAddrOfLabel(E->getLabel()); in VisitAddrLabelExpr()
2246 llvm::Constant *UnsignedPointer = emitPointerAuthPointer(E->getArg(0)); in emitPointerAuthSignConstant()
2251 llvm::Constant *SignedPointer = CGM.getConstantSignedPointer( in emitPointerAuthSignConstant()
2256 llvm::Constant *ConstantLValueEmitter::emitPointerAuthPointer(const Expr *E) { in emitPointerAuthPointer()
2274 std::pair<llvm::Constant *, llvm::ConstantInt *>
2281 llvm::Constant *Pointer = ConstantEmitter(CGM).emitAbstract( in emitPointerAuthDiscriminator()
2289 llvm::Constant *Result = ConstantEmitter(CGM).emitAbstract(E, E->getType()); in emitPointerAuthDiscriminator()
2324 llvm::Constant *
2342 llvm::Constant *Complex[2]; in tryEmitPrivate()
2365 llvm::Constant *Complex[2]; in tryEmitPrivate()
2379 SmallVector<llvm::Constant *, 4> Inits(NumElts); in tryEmitPrivate()
2398 llvm::Constant *LHS = tryEmitPrivate(LHSExpr, LHSExpr->getType()); in tryEmitPrivate()
2399 llvm::Constant *RHS = tryEmitPrivate(RHSExpr, RHSExpr->getType()); in tryEmitPrivate()
2406 llvm::Constant *AddrLabelDiff = llvm::ConstantExpr::getSub(LHS, RHS); in tryEmitPrivate()
2422 llvm::Constant *Filler = nullptr; in tryEmitPrivate()
2431 SmallVector<llvm::Constant*, 16> Elts; in tryEmitPrivate()
2439 llvm::Constant *C = tryEmitPrivateForMemory( in tryEmitPrivate()
2485 llvm::Constant *
2501 static llvm::Constant *EmitNullConstantForBase(CodeGenModule &CGM,
2505 static llvm::Constant *EmitNullConstant(CodeGenModule &CGM, in EmitNullConstant()
2514 std::vector<llvm::Constant *> elements(numElements); in EmitNullConstant()
2586 elements[i] = llvm::Constant::getNullValue(structure->getElementType(i)); in EmitNullConstant()
2593 static llvm::Constant *EmitNullConstantForBase(CodeGenModule &CGM, in EmitNullConstantForBase()
2600 return llvm::Constant::getNullValue(baseType); in EmitNullConstantForBase()
2606 llvm::Constant *ConstantEmitter::emitNullForMemory(CodeGenModule &CGM, in emitNullForMemory()
2611 llvm::Constant *CodeGenModule::EmitNullConstant(QualType T) { in EmitNullConstant()
2617 return llvm::Constant::getNullValue(getTypes().ConvertTypeForMem(T)); in EmitNullConstant()
2625 llvm::Constant *Element = in EmitNullConstant()
2628 SmallVector<llvm::Constant *, 8> Array(NumElements, Element); in EmitNullConstant()
2641 llvm::Constant *