Lines Matching refs:Constant
46 SmallVector<llvm::Constant *, 32> Elements;
48 static llvm::Constant *BuildStruct(ConstantEmitter &Emitter,
50 llvm::Constant *Base,
53 static llvm::Constant *BuildStruct(ConstantEmitter &Emitter,
55 static llvm::Constant *BuildStruct(ConstantEmitter &Emitter,
65 llvm::Constant *InitExpr);
67 void AppendBytes(CharUnits FieldOffsetInChars, llvm::Constant *InitCst);
79 bool Build(ConstExprEmitter *Emitter, llvm::Constant *Base,
83 llvm::Constant *Finalize(QualType Ty);
85 CharUnits getAlignment(const llvm::Constant *C) const { in getAlignment()
91 CharUnits getSizeInChars(const llvm::Constant *C) const { in getSizeInChars()
99 llvm::Constant *InitCst) { in AppendField()
108 AppendBytes(CharUnits FieldOffsetInChars, llvm::Constant *InitCst) { in AppendBytes()
315 llvm::Constant *C = llvm::UndefValue::get(Ty); in AppendPadding()
331 SmallVector<llvm::Constant *, 16> PackedElements; in ConvertStructToPacked()
335 llvm::Constant *C = Elements[i]; in ConvertStructToPacked()
351 llvm::Constant *Padding = llvm::UndefValue::get(Ty); in ConvertStructToPacked()
394 llvm::Constant *EltInit; in Build()
445 llvm::Constant *VTableAddressPoint = in Build()
490 llvm::Constant *EltInit = in Build()
508 llvm::Constant *ConstStructBuilder::Finalize(QualType Ty) { in Finalize()
558 llvm::Constant *Result = llvm::ConstantStruct::get(STy, Elements); in Finalize()
567 llvm::Constant *ConstStructBuilder::BuildStruct(ConstantEmitter &Emitter, in BuildStruct()
569 llvm::Constant *Base, in BuildStruct()
578 llvm::Constant *ConstStructBuilder::BuildStruct(ConstantEmitter &Emitter, in BuildStruct()
589 llvm::Constant *ConstStructBuilder::BuildStruct(ConstantEmitter &Emitter, in BuildStruct()
618 llvm::Constant *C = emitter.tryEmitForInitializer(E->getInitializer(), in tryEmitGlobalCompoundLiteral()
638 static llvm::Constant *
641 SmallVectorImpl<llvm::Constant *> &Elements, in EmitArrayConstant()
642 llvm::Constant *Filler) { in EmitArrayConstant()
666 llvm::Constant *Initial = llvm::ConstantArray::get( in EmitArrayConstant()
697 for (llvm::Constant *Elt : Elements) in EmitArrayConstant()
709 public StmtVisitor<ConstExprEmitter, llvm::Constant*, QualType> {
722 llvm::Constant *VisitStmt(Stmt *S, QualType T) { in VisitStmt()
726 llvm::Constant *VisitConstantExpr(ConstantExpr *CE, QualType T) { in VisitConstantExpr()
730 llvm::Constant *VisitParenExpr(ParenExpr *PE, QualType T) { in VisitParenExpr()
734 llvm::Constant *
740 llvm::Constant *VisitGenericSelectionExpr(GenericSelectionExpr *GE, in VisitGenericSelectionExpr()
745 llvm::Constant *VisitChooseExpr(ChooseExpr *CE, QualType T) { in VisitChooseExpr()
749 llvm::Constant *VisitCompoundLiteralExpr(CompoundLiteralExpr *E, QualType T) { in VisitCompoundLiteralExpr()
753 llvm::Constant *VisitCastExpr(CastExpr *E, QualType destType) { in VisitCastExpr()
774 SmallVector<llvm::Constant*, 2> Elts; in VisitCastExpr()
884 llvm::Constant *VisitCXXDefaultArgExpr(CXXDefaultArgExpr *DAE, QualType T) { in VisitCXXDefaultArgExpr()
888 llvm::Constant *VisitCXXDefaultInitExpr(CXXDefaultInitExpr *DIE, QualType T) { in VisitCXXDefaultInitExpr()
894 llvm::Constant *VisitExprWithCleanups(ExprWithCleanups *E, QualType T) { in VisitExprWithCleanups()
900 llvm::Constant *VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *E, in VisitMaterializeTemporaryExpr()
905 llvm::Constant *EmitArrayInitialization(InitListExpr *ILE, QualType T) { in EmitArrayInitialization()
918 llvm::Constant *fillC = nullptr; in EmitArrayInitialization()
926 SmallVector<llvm::Constant*, 16> Elts; in EmitArrayInitialization()
935 llvm::Constant *C = Emitter.tryEmitPrivateForMemory(Init, EltType); in EmitArrayInitialization()
949 llvm::Constant *EmitRecordInitialization(InitListExpr *ILE, QualType T) { in EmitRecordInitialization()
953 llvm::Constant *VisitImplicitValueInitExpr(ImplicitValueInitExpr* E, in VisitImplicitValueInitExpr()
958 llvm::Constant *VisitInitListExpr(InitListExpr *ILE, QualType T) { in VisitInitListExpr()
971 llvm::Constant *EmitDesignatedInitUpdater(llvm::Constant *Base, in EmitDesignatedInitUpdater()
981 std::vector<llvm::Constant *> Elts; in EmitDesignatedInitUpdater()
995 llvm::Constant *fillC = nullptr; in EmitDesignatedInitUpdater()
1040 llvm::Constant *VisitDesignatedInitUpdateExpr(DesignatedInitUpdateExpr *E, in VisitDesignatedInitUpdateExpr()
1047 llvm::Constant *VisitCXXConstructExpr(CXXConstructExpr *E, QualType Ty) { in VisitCXXConstructExpr()
1079 llvm::Constant *VisitStringLiteral(StringLiteral *E, QualType T) { in VisitStringLiteral()
1083 llvm::Constant *VisitObjCEncodeExpr(ObjCEncodeExpr *E, QualType T) { in VisitObjCEncodeExpr()
1097 llvm::Constant *VisitUnaryExtension(const UnaryOperator *E, QualType T) { in VisitUnaryExtension()
1110 llvm::Constant *Base, in Build()
1139 llvm::Constant *EltInit = Base->getAggregateElement(ElementNo); in Build()
1179 llvm::Constant *ConstantEmitter::validateAndPopAbstract(llvm::Constant *C, in validateAndPopAbstract()
1191 llvm::Constant *
1198 llvm::Constant *
1205 llvm::Constant *
1212 llvm::Constant *
1225 llvm::Constant *
1239 llvm::Constant *ConstantEmitter::tryEmitForInitializer(const VarDecl &D) { in tryEmitForInitializer()
1244 llvm::Constant *ConstantEmitter::tryEmitForInitializer(const Expr *E, in tryEmitForInitializer()
1251 llvm::Constant *ConstantEmitter::emitForInitializer(const APValue &value, in emitForInitializer()
1280 void ConstantEmitter::registerCurrentAddrPrivate(llvm::Constant *signal, in registerCurrentAddrPrivate()
1293 llvm::Constant *Base;
1297 llvm::DenseMap<llvm::Constant*, llvm::GlobalVariable*> PlaceholderAddresses;
1300 llvm::DenseMap<llvm::GlobalVariable*, llvm::Constant*> Locations;
1306 llvm::SmallVector<llvm::Constant*, 8> IndexValues;
1308 ReplacePlaceholders(CodeGenModule &CGM, llvm::Constant *base, in ReplacePlaceholders()
1309 ArrayRef<std::pair<llvm::Constant*, in ReplacePlaceholders()
1315 void replaceInInitializer(llvm::Constant *init) { in replaceInInitializer()
1346 void findLocations(llvm::Constant *init) { in findLocations()
1404 llvm::Constant *location = in setLocation()
1445 llvm::Constant *ConstantEmitter::tryEmitPrivateForVarInit(const VarDecl &D) { in tryEmitPrivateForVarInit()
1487 llvm::Constant *
1494 llvm::Constant *
1502 llvm::Constant *ConstantEmitter::tryEmitPrivateForMemory(const Expr *E, in tryEmitPrivateForMemory()
1505 llvm::Constant *C = tryEmitPrivate(E, nonMemoryDestType); in tryEmitPrivateForMemory()
1509 llvm::Constant *ConstantEmitter::tryEmitPrivateForMemory(const APValue &value, in tryEmitPrivateForMemory()
1516 llvm::Constant *ConstantEmitter::emitForMemory(CodeGenModule &CGM, in emitForMemory()
1517 llvm::Constant *C, in emitForMemory()
1530 llvm::Constant *elts[] = { in emitForMemory()
1547 llvm::Constant *ConstantEmitter::tryEmitPrivate(const Expr *E, in tryEmitPrivate()
1558 llvm::Constant *C; in tryEmitPrivate()
1567 llvm::Constant *CodeGenModule::getNullPointer(llvm::PointerType *T, QualType QT) { in getNullPointer()
1575 llvm::Constant *Value;
1578 /*implicit*/ ConstantLValue(llvm::Constant *value, in ConstantLValue()
1602 llvm::Constant *tryEmit();
1605 llvm::Constant *tryEmitAbsolute(llvm::Type *destTy);
1628 llvm::Constant *getOffset() { in getOffset()
1634 llvm::Constant *applyOffset(llvm::Constant *C) { in applyOffset()
1650 llvm::Constant *ConstantLValueEmitter::tryEmit() { in tryEmit()
1683 llvm::Constant *value = result.Value; in tryEmit()
1701 llvm::Constant *
1716 llvm::Constant *C = offset; in tryEmitAbsolute()
1808 llvm::Constant *Ptr = Emitter.CGF->GetAddrOfLabel(E->getLabel()); in VisitAddrLabelExpr()
1867 llvm::Constant *ConstantEmitter::tryEmitPrivate(const APValue &Value, in tryEmitPrivate()
1877 llvm::Constant *Complex[2]; in tryEmitPrivate()
1900 llvm::Constant *Complex[2]; in tryEmitPrivate()
1914 SmallVector<llvm::Constant *, 4> Inits(NumElts); in tryEmitPrivate()
1930 llvm::Constant *LHS = tryEmitPrivate(LHSExpr, LHSExpr->getType()); in tryEmitPrivate()
1931 llvm::Constant *RHS = tryEmitPrivate(RHSExpr, RHSExpr->getType()); in tryEmitPrivate()
1938 llvm::Constant *AddrLabelDiff = llvm::ConstantExpr::getSub(LHS, RHS); in tryEmitPrivate()
1955 llvm::Constant *Filler = nullptr; in tryEmitPrivate()
1964 SmallVector<llvm::Constant*, 16> Elts; in tryEmitPrivate()
1972 llvm::Constant *C = tryEmitPrivateForMemory( in tryEmitPrivate()
2020 llvm::Constant *
2036 static llvm::Constant *EmitNullConstantForBase(CodeGenModule &CGM,
2040 static llvm::Constant *EmitNullConstant(CodeGenModule &CGM, in EmitNullConstant()
2049 std::vector<llvm::Constant *> elements(numElements); in EmitNullConstant()
2118 elements[i] = llvm::Constant::getNullValue(structure->getElementType(i)); in EmitNullConstant()
2125 static llvm::Constant *EmitNullConstantForBase(CodeGenModule &CGM, in EmitNullConstantForBase()
2132 return llvm::Constant::getNullValue(baseType); in EmitNullConstantForBase()
2138 llvm::Constant *ConstantEmitter::emitNullForMemory(CodeGenModule &CGM, in emitNullForMemory()
2143 llvm::Constant *CodeGenModule::EmitNullConstant(QualType T) { in EmitNullConstant()
2149 return llvm::Constant::getNullValue(getTypes().ConvertTypeForMem(T)); in EmitNullConstant()
2157 llvm::Constant *Element = in EmitNullConstant()
2160 SmallVector<llvm::Constant *, 8> Array(NumElements, Element); in EmitNullConstant()
2173 llvm::Constant *