Lines Matching refs:APValue
81 static QualType getType(APValue::LValueBase B) { in getType()
87 static const FieldDecl *getAsField(APValue::LValuePathEntry E) { in getAsField()
92 static const CXXRecordDecl *getAsBaseClass(APValue::LValuePathEntry E) { in getAsBaseClass()
97 static bool isVirtualBaseClass(APValue::LValuePathEntry E) { in isVirtualBaseClass()
143 static bool isBaseAnAllocSizeCall(APValue::LValueBase Base) { in isBaseAnAllocSizeCall()
190 findMostDerivedSubobject(ASTContext &Ctx, APValue::LValueBase Base, in findMostDerivedSubobject()
191 ArrayRef<APValue::LValuePathEntry> Path, in findMostDerivedSubobject()
267 typedef APValue::LValuePathEntry PathEntry;
280 SubobjectDesignator(ASTContext &Ctx, const APValue &V) in SubobjectDesignator()
301 void truncate(ASTContext &Ctx, APValue::LValueBase Base, in truncate()
416 Entries.push_back(APValue::BaseOrMemberType(D, Virtual)); in addDeclUnchecked()
545 typedef std::map<MapKeyTy, APValue> MapTy;
590 APValue *getTemporary(const void *Key, unsigned Version) { in getTemporary()
604 APValue *getCurrentTemporary(const void *Key) { in getCurrentTemporary()
624 APValue &createTemporary(const KeyT *Key, QualType T,
628 APValue &createParam(CallRef Args, const ParmVarDecl *PVD, LValue &LV);
644 APValue &createLocal(APValue::LValueBase Base, const void *Key, QualType T,
668 APValue::LValueBase LVBase, APValue &Value,
674 llvm::PointerIntPair<APValue*, 2, ScopeKind> Value;
675 APValue::LValueBase Base;
679 Cleanup(APValue *Val, APValue::LValueBase Base, QualType T, in Cleanup()
697 *Value.getPointer() = APValue(); in endLifetime()
708 APValue::LValueBase Base;
709 ArrayRef<APValue::LValuePathEntry> Path;
730 using Base = DenseMapInfo<APValue::LValueBase>;
750 APValue Value;
827 APValue::LValueBase EvaluatingDecl;
840 APValue *EvaluatingDeclValue;
899 isEvaluatingCtorDtor(APValue::LValueBase Base, in isEvaluatingCtorDtor()
900 ArrayRef<APValue::LValuePathEntry> Path) { in isEvaluatingCtorDtor()
988 void setEvaluatingDecl(APValue::LValueBase Base, APValue &Value, in setEvaluatingDecl()
1037 APValue *createHeapAlloc(const Expr *E, QualType T, LValue &LV);
1048 APValue *getParamSlot(CallRef Call, const ParmVarDecl *PVD) { in getParamSlot()
1525 void moveInto(APValue &v) const { in moveInto()
1527 v = APValue(FloatReal, FloatImag); in moveInto()
1529 v = APValue(IntReal, IntImag); in moveInto()
1531 void setFrom(const APValue &v) { in setFrom()
1546 APValue::LValueBase Base;
1552 const APValue::LValueBase getLValueBase() const { return Base; } in getLValueBase()
1562 void moveInto(APValue &V) const { in moveInto()
1564 V = APValue(Base, Offset, APValue::NoLValuePath(), IsNullPtr); in moveInto()
1567 V = APValue(Base, Offset, Designator.Entries, in moveInto()
1571 void setFrom(ASTContext &Ctx, const APValue &V) { in setFrom()
1580 void set(APValue::LValueBase B, bool BInvalid = false) { in set()
1606 void setInvalid(APValue::LValueBase B, unsigned I = 0) { in setInvalid()
1611 APValue Printable; in toString()
1727 void moveInto(APValue &V) const { in moveInto()
1728 V = APValue(getDecl(), isDerivedMember(), Path); in moveInto()
1730 void setFrom(const APValue &V) { in setFrom()
1806 static bool Evaluate(APValue &Result, EvalInfo &Info, const Expr *E);
1807 static bool EvaluateInPlace(APValue &Result, EvalInfo &Info,
1818 static bool EvaluateIntegerOrLValue(const Expr *E, APValue &Result,
1822 static bool EvaluateAtomic(const Expr *E, const LValue *This, APValue &Result,
1824 static bool EvaluateAsRValue(EvalInfo &Info, const Expr *E, APValue &Result);
1851 APValue &CallStackFrame::createTemporary(const KeyT *Key, QualType T, in createTemporary()
1854 APValue::LValueBase Base(Key, Index, Version); in createTemporary()
1860 APValue &CallStackFrame::createParam(CallRef Args, const ParmVarDecl *PVD, in createParam()
1863 APValue::LValueBase Base(PVD, Index, Args.Version); in createParam()
1871 APValue &CallStackFrame::createLocal(APValue::LValueBase Base, const void *Key, in createLocal()
1875 APValue &Result = Temporaries[MapKeyTy(Key, Version)]; in createLocal()
1891 APValue *EvalInfo::createHeapAlloc(const Expr *E, QualType T, LValue &LV) { in createHeapAlloc()
1898 LV.set(APValue::LValueBase::getDynamicAlloc(DA, T)); in createHeapAlloc()
1917 APValue Val; in describe()
1932 APValue *V = Info.getParamSlot(Arguments, Param); in describe()
1950 APValue Scratch; in EvaluateIgnoredValue()
1965 static bool IsGlobalLValue(APValue::LValueBase B) { in IsGlobalLValue()
2073 static void NoteLValueLocation(EvalInfo &Info, APValue::LValueBase Base) { in NoteLValueLocation()
2117 QualType Type, const APValue &Value,
2131 APValue::LValueBase Base = LVal.getLValueBase(); in CheckLValueConstantExpression()
2265 APValue *V = MTE->getOrCreateValue(false); in CheckLValueConstantExpression()
2301 const APValue &Value, in CheckMemberPointerConstantExpression()
2350 QualType Type, const APValue &Value, in CheckEvaluationResult()
2433 QualType Type, const APValue &Value, in CheckConstantExpression()
2448 QualType Type, const APValue &Value) { in CheckFullyInitialized()
2469 static bool EvalPointerValueAsBool(const APValue &Value, bool &Result) { in EvalPointerValueAsBool()
2484 static bool HandleConversionToBool(const APValue &Val, bool &Result) { in HandleConversionToBool()
2486 case APValue::None: in HandleConversionToBool()
2487 case APValue::Indeterminate: in HandleConversionToBool()
2489 case APValue::Int: in HandleConversionToBool()
2492 case APValue::FixedPoint: in HandleConversionToBool()
2495 case APValue::Float: in HandleConversionToBool()
2498 case APValue::ComplexInt: in HandleConversionToBool()
2502 case APValue::ComplexFloat: in HandleConversionToBool()
2506 case APValue::LValue: in HandleConversionToBool()
2508 case APValue::MemberPointer: in HandleConversionToBool()
2511 case APValue::Vector: in HandleConversionToBool()
2512 case APValue::Array: in HandleConversionToBool()
2513 case APValue::Struct: in HandleConversionToBool()
2514 case APValue::Union: in HandleConversionToBool()
2515 case APValue::AddrLabelDiff: in HandleConversionToBool()
2526 APValue Val; in EvaluateAsBooleanCondition()
2650 APValue &Value, const FieldDecl *FD) { in truncateBitfieldValue()
2672 APValue SVal; in EvalAndBitcastToAPInt()
2691 APValue &Elt = SVal.getVectorElt(i); in EvalAndBitcastToAPInt()
2909 static bool handleLogicalOpForVector(const APValue &LHSValue, in handleLogicalOpForVector()
2911 const APValue &RHSValue, APInt &Result) { in handleLogicalOpForVector()
2913 if (LHSValue.getKind() == APValue::Int) in handleLogicalOpForVector()
2916 assert(LHSValue.getKind() == APValue::Float && "Should be no other options"); in handleLogicalOpForVector()
2956 static bool handleCompareOpForVector(const APValue &LHSValue, in handleCompareOpForVector()
2958 const APValue &RHSValue, APInt &Result) { in handleCompareOpForVector()
2960 if (LHSValue.getKind() == APValue::Int) in handleCompareOpForVector()
2963 assert(LHSValue.getKind() == APValue::Float && "Should be no other options"); in handleCompareOpForVector()
2971 APValue &LHSValue, in handleVectorVectorBinOp()
2972 const APValue &RHSValue) { in handleVectorVectorBinOp()
2993 SmallVector<APValue, 4> ResultElements; in handleVectorVectorBinOp()
2996 APValue LHSElt = LHSValue.getVectorElt(EltNum); in handleVectorVectorBinOp()
2997 APValue RHSElt = RHSValue.getVectorElt(EltNum); in handleVectorVectorBinOp()
3019 assert(LHSElt.getKind() == APValue::Float && in handleVectorVectorBinOp()
3020 RHSElt.getKind() == APValue::Float && in handleVectorVectorBinOp()
3034 LHSValue = APValue(ResultElements.data(), ResultElements.size()); in handleVectorVectorBinOp()
3241 unsigned Version, APValue *&Result) { in evaluateVarDeclInit()
3242 APValue::LValueBase Base(VD, Frame ? Frame->Index : 0, Version); in evaluateVarDeclInit()
3412 APValue &Result, in expandStringLiteral()
3421 Result = APValue(APValue::UninitArray(), in expandStringLiteral()
3426 Result.getArrayFiller() = APValue(Value); in expandStringLiteral()
3429 Result.getArrayInitializedElt(I) = APValue(Value); in expandStringLiteral()
3434 static void expandArray(APValue &Array, unsigned Index) { in expandArray()
3444 APValue NewValue(APValue::UninitArray(), NewElts, Size); in expandArray()
3520 APValue::LValueBase Base, in lifetimeStartedInEvaluation()
3564 APValue::LValueBase Base;
3566 APValue *Value;
3571 CompleteObject(APValue::LValueBase Base, APValue *Value, QualType Type) in CompleteObject()
3627 APValue *O = Obj.Value; in findSubobject()
3778 O->setUnion(Field, APValue()); in findSubobject()
3812 APValue &Result;
3817 bool found(APValue &Subobj, QualType SubobjType) { in found()
3824 Result = APValue(Value); in found()
3828 Result = APValue(Value); in found()
3837 const SubobjectDesignator &Sub, APValue &Result, in extractSubobject()
3847 APValue &NewVal;
3863 bool found(APValue &Subobj, QualType SubobjType) { in found()
3896 APValue &NewVal) { in modifySubobject()
4002 APValue *BaseVal = nullptr; in findCompleteObject()
4018 APValue &V = GD->getAsAPValue(); in findCompleteObject()
4033 return CompleteObject(LVal.Base, const_cast<APValue *>(&GCD->getValue()), in findCompleteObject()
4043 return CompleteObject(LVal.Base, const_cast<APValue *>(&TPO->getValue()), in findCompleteObject()
4187 APValue Val; in findCompleteObject()
4237 const LValue &LVal, APValue &RVal, in handleLValueToRValueConversion()
4258 APValue Lit; in handleLValueToRValueConversion()
4306 RVal = APValue(extractStringLiteralCharacter(Info, Base, CharIndex)); in handleLValueToRValueConversion()
4317 QualType LValType, APValue &Val) { in handleAssignment()
4336 const APValue &RHS;
4352 bool found(APValue &Subobj, QualType SubobjType) { in found()
4354 case APValue::Int: in found()
4356 case APValue::Float: in found()
4358 case APValue::ComplexInt: in found()
4359 case APValue::ComplexFloat: in found()
4363 case APValue::LValue: in found()
4365 case APValue::Vector: in found()
4374 bool foundVector(APValue &Value, QualType SubobjType) { in foundVector()
4424 bool foundPointer(APValue &Subobj, QualType SubobjType) { in foundPointer()
4460 const APValue &RVal) { in handleCompoundAssignment()
4480 APValue *Old;
4494 bool found(APValue &Subobj, QualType SubobjType) { in found()
4503 case APValue::Int: in found()
4505 case APValue::Float: in found()
4507 case APValue::ComplexInt: in found()
4511 case APValue::ComplexFloat: in found()
4515 case APValue::LValue: in found()
4534 if (Old) *Old = APValue(Value); in found()
4570 if (Old) *Old = APValue(Value); in found()
4579 bool foundPointer(APValue &Subobj, QualType SubobjType) { in foundPointer()
4604 QualType LValType, bool IsIncrement, APValue *Old) { in handleIncDec()
4786 static bool getDefaultInitValue(QualType T, APValue &Result) { in getDefaultInitValue()
4790 Result = APValue(); in getDefaultInitValue()
4794 Result = APValue((const FieldDecl *)nullptr); in getDefaultInitValue()
4797 Result = APValue(APValue::UninitStruct(), RD->getNumBases(), in getDefaultInitValue()
4817 Result = APValue(APValue::UninitArray(), 0, AT->getSize().getZExtValue()); in getDefaultInitValue()
4825 Result = APValue::IndeterminateValue(); in getDefaultInitValue()
4852 APValue &Val = Info.CurrentCall->createTemporary(VD, VD->getType(), in EvaluateVarDecl()
4867 Val = APValue(); in EvaluateVarDecl()
4915 APValue &Value;
5591 bool found(APValue &Subobj, QualType SubobjType) { return true; } in found()
5623 APValue Val; in checkDynamicType()
5691 ArrayRef<APValue::LValuePathEntry> Path = This.Designator.Entries; in ComputeDynamicType()
5787 APValue &Result, in HandleCovariantReturnAdjustment()
5932 bool found(APValue &Subobj, QualType SubobjType) { in found()
5955 APValue Result; in found()
6080 APValue &V = PVD ? Info.CurrentCall->createParam(Call, PVD, LV) in EvaluateCallArg()
6136 const Expr *E, APValue &Result, in handleTrivialCopy()
6140 APValue *RefValue = Info.getParamSlot(Frame->Arguments, Param); in handleTrivialCopy()
6159 APValue &Result, const LValue *ResultSlot) { in HandleFunctionCall()
6178 APValue RHSValue; in HandleFunctionCall()
6213 EvalInfo &Info, APValue &Result) { in HandleConstructorCall()
6232 APValue RetVal; in HandleConstructorCall()
6269 Result = APValue(APValue::UninitStruct(), RD->getNumBases(), in HandleConstructorCall()
6273 Result = APValue((const FieldDecl*)nullptr); in HandleConstructorCall()
6310 APValue *Value = &Result; in HandleConstructorCall()
6332 Result = APValue(FD); in HandleConstructorCall()
6353 *Value = APValue(FD); in HandleConstructorCall()
6426 EvalInfo &Info, APValue &Result) { in HandleConstructorCall()
6437 const LValue &This, APValue &Value, in HandleDestructionImpl()
6444 APValue Printable; in HandleDestructionImpl()
6472 APValue &Elem = Value.getArrayInitializedElt(Size - 1); in HandleDestructionImpl()
6479 Value = APValue(); in HandleDestructionImpl()
6490 Value = APValue(); in HandleDestructionImpl()
6516 Value = APValue(); in HandleDestructionImpl()
6549 APValue RetVal; in HandleDestructionImpl()
6571 APValue *SubobjectValue = &Value.getStructField(FD->getFieldIndex()); in HandleDestructionImpl()
6590 APValue *SubobjectValue = &Value.getStructBase(BasesLeft); in HandleDestructionImpl()
6598 Value = APValue(); in HandleDestructionImpl()
6611 bool found(APValue &Subobj, QualType SubobjType) { in found()
6637 APValue::LValueBase LVBase, APValue &Value, in HandleDestruction()
6707 APValue *Val = Info.createHeapAlloc(E, AllocType, Result); in HandleOperatorNewCall()
6708 *Val = APValue(APValue::UninitArray(), 0, Size.getZExtValue()); in HandleOperatorNewCall()
6880 bool visit(const APValue &Val, QualType Ty) { in visit()
6885 bool visit(const APValue &Val, QualType Ty, CharUnits Offset) { in visit()
6894 case APValue::Indeterminate: in visit()
6895 case APValue::None: in visit()
6898 case APValue::Int: in visit()
6900 case APValue::Float: in visit()
6902 case APValue::Array: in visit()
6904 case APValue::Struct: in visit()
6907 case APValue::ComplexInt: in visit()
6908 case APValue::ComplexFloat: in visit()
6909 case APValue::Vector: in visit()
6910 case APValue::FixedPoint: in visit()
6913 case APValue::Union: in visit()
6914 case APValue::MemberPointer: in visit()
6915 case APValue::AddrLabelDiff: { in visit()
6922 case APValue::LValue: in visit()
6928 bool visitRecord(const APValue &Val, QualType Ty, CharUnits Offset) { in visitRecord()
6968 bool visitArray(const APValue &Val, QualType Ty, CharUnits Offset) { in visitArray()
6979 const APValue &SubObj = Val.getArrayInitializedElt(I); in visitArray()
6986 const APValue &Filler = Val.getArrayFiller(); in visitArray()
7016 static Optional<BitCastBuffer> convert(EvalInfo &Info, const APValue &Src, in convert()
7053 Optional<APValue> visit(const BuiltinType *T, CharUnits Offset, in visit()
7057 return APValue((Expr *)nullptr, in visit()
7059 APValue::NoLValuePath{}, /*IsNullPtr=*/true); in visit()
7093 return APValue::IndeterminateValue(); in visit()
7110 return APValue(Val); in visit()
7116 return APValue(APFloat(Semantics, Val)); in visit()
7122 Optional<APValue> visit(const RecordType *RTy, CharUnits Offset) { in visit()
7130 APValue ResultVal(APValue::UninitStruct(), NumBases, in visit()
7142 Optional<APValue> SubObj = visitType( in visit()
7168 Optional<APValue> SubObj = visitType(FieldTy, FieldOffset); in visit()
7178 Optional<APValue> visit(const EnumType *Ty, CharUnits Offset) { in visit()
7189 Optional<APValue> visit(const ConstantArrayType *Ty, CharUnits Offset) { in visit()
7193 APValue ArrayValue(APValue::UninitArray(), Size, Size); in visit()
7195 Optional<APValue> ElementValue = in visit()
7205 Optional<APValue> visit(const Type *Ty, CharUnits Offset) { in visit()
7209 Optional<APValue> visitType(QualType Ty, CharUnits Offset) { in visitType()
7234 static Optional<APValue> convert(EvalInfo &Info, BitCastBuffer &Buffer, in convert()
7304 static bool handleLValueToRValueBitCast(EvalInfo &Info, APValue &DestValue, in handleLValueToRValueBitCast()
7305 APValue &SourceValue, in handleLValueToRValueBitCast()
7316 APValue SourceRValue; in handleLValueToRValueBitCast()
7330 Optional<APValue> MaybeDestValue = in handleLValueToRValueBitCast()
7344 bool DerivedSuccess(const APValue &V, const Expr *E) { in DerivedSuccess()
7502 APValue Result; in VisitBinaryOperator()
7556 if (APValue *Value = Info.CurrentCall->getCurrentTemporary(E)) in VisitOpaqueValueExpr()
7601 APValue Result; in VisitCallExpr()
7607 bool handleCallExpr(const CallExpr *E, APValue &Result, in handleCallExpr()
7826 APValue Val; in VisitMemberExpr()
7841 CompleteObject Obj(APValue::LValueBase(), &Val, BaseTy); in VisitMemberExpr()
7845 APValue Result; in VisitMemberExpr()
7851 APValue Val; in VisitExtVectorElementExpr()
7863 SmallVector<APValue, 4> Elts; in VisitExtVectorElementExpr()
7867 APValue VecResult(Elts.data(), Indices.size()); in VisitExtVectorElementExpr()
7881 APValue AtomicVal; in VisitCastExpr()
7898 APValue RVal; in VisitCastExpr()
7906 APValue DestValue, SourceValue; in VisitCastExpr()
7915 APValue Value; in VisitCastExpr()
7938 APValue RVal; in VisitUnaryPostIncDec()
7969 APValue ReturnValue; in VisitStmtExpr()
8016 bool Success(APValue::LValueBase B) { in Success()
8030 bool Success(const APValue &V, const Expr *E) { in Success()
8071 APValue RefValue; in VisitMemberExpr()
8254 APValue RVal; in VisitVarDecl()
8306 APValue *V; in VisitVarDecl()
8349 APValue *Value; in VisitMaterializeTemporaryExpr()
8353 *Value = APValue(); in VisitMaterializeTemporaryExpr()
8367 *Value = APValue(); in VisitMaterializeTemporaryExpr()
8436 return Success(APValue::LValueBase::getTypeInfo(TypeInfo, E->getType())); in VisitCXXTypeidExpr()
8528 APValue RHS; in VisitCompoundAssignOperator()
8552 APValue NewVal; in VisitBinAssign()
8641 static bool evaluateLValueAsAllocSize(EvalInfo &Info, APValue::LValueBase Base, in evaluateLValueAsAllocSize()
8699 bool Success(const APValue &V, const Expr *E) { in Success()
8759 APValue RVal; in VisitCXXThisExpr()
8774 APValue LValResult = E->EvaluateInContext( in VisitSourceLocExpr()
8934 APValue Value; in VisitCastExpr()
8959 APValue &Value = Info.CurrentCall->createTemporary( in VisitCastExpr()
8981 APValue RVal; in VisitCastExpr()
9303 APValue Char; in VisitBuiltinCallExpr()
9365 APValue Val; in VisitBuiltinCallExpr()
9447 APValue Val; in VisitBuiltinCallExpr()
9471 APValue &Result, const InitListExpr *ILE,
9474 APValue &Result,
9610 APValue *Val; in VisitCXXNewExpr()
9618 APValue *Value; in VisitCXXNewExpr()
9622 bool found(APValue &Subobj, QualType SubobjType) { in VisitCXXNewExpr()
9653 *Val = APValue(); in VisitCXXNewExpr()
9705 bool Success(const APValue &V, const Expr *E) { in Success()
9784 APValue &Result;
9787 RecordExprEvaluator(EvalInfo &info, const LValue &This, APValue &Result) in RecordExprEvaluator()
9790 bool Success(const APValue &V, const Expr *E) { in Success()
9824 const LValue &This, APValue &Result) { in HandleClassZeroInitialization()
9827 Result = APValue(APValue::UninitStruct(), CD ? CD->getNumBases() : 0, in HandleClassZeroInitialization()
9875 Result = APValue((const FieldDecl*)nullptr); in ZeroInitialization()
9882 Result = APValue(*I); in ZeroInitialization()
9905 APValue DerivedObject; in VisitCastExpr()
9912 APValue *Value = &DerivedObject; in VisitCastExpr()
9943 Result = APValue(Field); in VisitInitListExpr()
9974 Result = APValue(APValue::UninitStruct(), CXXRD ? CXXRD->getNumBases() : 0, in VisitInitListExpr()
9989 APValue &FieldVal = Result.getStructBase(ElementNo); in VisitInitListExpr()
10038 APValue &FieldVal = Result.getStructField(Field->getFieldIndex()); in VisitInitListExpr()
10155 Result = APValue(APValue::UninitStruct(), 0, 2); in VisitCXXStdInitializerListExpr()
10172 Result.getStructField(1) = APValue(APSInt(ArrayType->getSize())); in VisitCXXStdInitializerListExpr()
10195 Result = APValue(APValue::UninitStruct(), /*NumBases*/0, NumFields); in VisitLambdaExpr()
10216 APValue &FieldVal = Result.getStructField(Field->getFieldIndex()); in VisitLambdaExpr()
10227 APValue &Result, EvalInfo &Info) { in EvaluateRecord()
10250 APValue &Value = Info.CurrentCall->createTemporary( in VisitConstructExpr()
10296 APValue &Result;
10299 VectorExprEvaluator(EvalInfo &info, APValue &Result) in VectorExprEvaluator()
10302 bool Success(ArrayRef<APValue> V, const Expr *E) { in Success()
10305 Result = APValue(V.data(), V.size()); in Success()
10308 bool Success(const APValue &V, const Expr *E) { in Success()
10327 static bool EvaluateVector(const Expr* E, APValue& Result, EvalInfo &Info) { in EvaluateVector()
10342 APValue Val = APValue(); in VisitCastExpr()
10347 Val = APValue(std::move(IntResult)); in VisitCastExpr()
10352 Val = APValue(std::move(FloatResult)); in VisitCastExpr()
10358 SmallVector<APValue, 4> Elts(NElts, Val); in VisitCastExpr()
10370 SmallVector<APValue, 4> Elts; in VisitCastExpr()
10382 Elts.push_back(APValue(APFloat(Sem, Elt))); in VisitCastExpr()
10391 Elts.push_back(APValue(APSInt(Elt, !EltTy->isSignedIntegerType()))); in VisitCastExpr()
10410 SmallVector<APValue, 4> Elements; in VisitInitListExpr()
10421 APValue v; in VisitInitListExpr()
10435 Elements.push_back(APValue(sInt)); in VisitInitListExpr()
10444 Elements.push_back(APValue(f)); in VisitInitListExpr()
10456 APValue ZeroElement; in ZeroInitialization()
10458 ZeroElement = APValue(Info.Ctx.MakeIntValue(0, EltTy)); in ZeroInitialization()
10461 APValue(APFloat::getZero(Info.Ctx.getFloatTypeSemantics(EltTy))); in ZeroInitialization()
10463 SmallVector<APValue, 4> Elements(VT->getNumElements(), ZeroElement); in ZeroInitialization()
10493 APValue LHSValue; in VisitBinaryOperator()
10494 APValue RHSValue; in VisitBinaryOperator()
10507 static llvm::Optional<APValue> handleVectorUnaryOperator(ASTContext &Ctx, in handleVectorUnaryOperator()
10510 APValue Elt) { in handleVectorUnaryOperator()
10516 if (Elt.getKind() == APValue::Int) { in handleVectorUnaryOperator()
10519 assert(Elt.getKind() == APValue::Float && in handleVectorUnaryOperator()
10527 assert(Elt.getKind() == APValue::Int && in handleVectorUnaryOperator()
10532 if (Elt.getKind() == APValue::Int) { in handleVectorUnaryOperator()
10538 assert(Elt.getKind() == APValue::Float && in handleVectorUnaryOperator()
10549 return APValue{EltResult}; in handleVectorUnaryOperator()
10566 APValue SubExprValue; in VisitUnaryOperator()
10582 SmallVector<APValue, 4> ResultElements; in VisitUnaryOperator()
10584 llvm::Optional<APValue> Elt = handleVectorUnaryOperator( in VisitUnaryOperator()
10590 return Success(APValue(ResultElements.data(), ResultElements.size()), E); in VisitUnaryOperator()
10601 APValue &Result;
10604 ArrayExprEvaluator(EvalInfo &Info, const LValue &This, APValue &Result) in ArrayExprEvaluator()
10607 bool Success(const APValue &V, const Expr *E) { in Success()
10621 Result = APValue(APValue::UninitArray(), 0, 0); in ZeroInitialization()
10628 Result = APValue(APValue::UninitArray(), 0, in ZeroInitialization()
10649 APValue *Value, QualType Type);
10659 APValue &Result, EvalInfo &Info) { in EvaluateArray()
10667 APValue &Result, const InitListExpr *ILE, in EvaluateArrayNewInitList()
10677 APValue &Result, in EvaluateArrayNewConstructExpr()
10729 APValue Filler; in VisitInitListExpr()
10745 Result = APValue(APValue::UninitArray(), NumEltsToInit, NumElts); in VisitInitListExpr()
10794 Result = APValue(APValue::UninitArray(), Elements, Elements); in VisitArrayInitLoopExpr()
10820 APValue *Value, in VisitCXXConstructExpr()
10828 APValue Filler = in VisitCXXConstructExpr()
10830 : APValue(); in VisitCXXConstructExpr()
10832 *Value = APValue(APValue::UninitArray(), 0, FinalSize); in VisitCXXConstructExpr()
10849 APValue NewValue(APValue::UninitArray(), N, FinalSize); in VisitCXXConstructExpr()
10896 APValue &Result;
10898 IntExprEvaluator(EvalInfo &info, APValue &result) in IntExprEvaluator()
10901 bool Success(const llvm::APSInt &SI, const Expr *E, APValue &Result) { in Success()
10908 Result = APValue(SI); in Success()
10915 bool Success(const llvm::APInt &I, const Expr *E, APValue &Result) { in Success()
10920 Result = APValue(APSInt(I)); in Success()
10929 bool Success(uint64_t Value, const Expr *E, APValue &Result) { in Success()
10932 Result = APValue(Info.Ctx.MakeIntValue(Value, E->getType())); in Success()
10943 bool Success(const APValue &V, const Expr *E) { in Success()
11037 APValue &Result;
11040 FixedPointExprEvaluator(EvalInfo &info, APValue &result) in FixedPointExprEvaluator()
11053 bool Success(const APValue &V, const Expr *E) { in Success()
11061 Result = APValue(V); in Success()
11087 static bool EvaluateIntegerOrLValue(const Expr *E, APValue &Result, in EvaluateIntegerOrLValue()
11096 APValue Val; in EvaluateInteger()
11110 APValue Evaluated = E->EvaluateInContext( in VisitSourceLocExpr()
11119 APValue Val; in EvaluateFixedPoint()
11366 static bool EvaluateBuiltinConstantPForLValue(const APValue &LV) { in EvaluateBuiltinConstantPForLValue()
11367 APValue::LValueBase Base = LV.getLValueBase(); in EvaluateBuiltinConstantPForLValue()
11416 APValue V; in EvaluateBuiltinConstantP()
11423 if (V.getKind() == APValue::LValue) in EvaluateBuiltinConstantP()
11436 static QualType getObjectType(APValue::LValueBase B) { in getObjectType()
11724 APValue RVal; in tryEvaluateBuiltinObjectSize()
11761 APValue &Val, APSInt &Alignment) { in getBuiltinAlignArguments()
11781 Val = APValue(SrcInt); in getBuiltinAlignArguments()
11830 APValue Src; in VisitBuiltinCallExpr()
11864 APValue Src; in VisitBuiltinCallExpr()
11877 APValue Src; in VisitBuiltinCallExpr()
12192 const auto &ReadCurElems = [&](APValue &Char1, APValue &Char2) { in VisitBuiltinCallExpr()
12216 APValue Char1, Char2; in VisitBuiltinCallExpr()
12391 APValue APV{Result}; in VisitBuiltinCallExpr()
12435 APValue Val;
12467 APValue &FinalResult;
12470 DataRecursiveIntBinOpEvaluator(IntExprEvaluator &IntEval, APValue &Result) in DataRecursiveIntBinOpEvaluator()
12497 bool Success(uint64_t Value, const Expr *E, APValue &Result) { in Success()
12500 bool Success(const APSInt &Value, const Expr *E, APValue &Result) { in Success()
12519 const BinaryOperator *E, APValue &Result);
12524 Result.Val = APValue(); in EvaluateExpr()
12584 static void addOrSubLValueAsInteger(APValue &LVal, const APSInt &Index, in addOrSubLValueAsInteger()
12599 const BinaryOperator *E, APValue &Result) { in VisitBinOp()
12637 const APValue &LHSVal = LHSResult.Val; in VisitBinOp()
12638 const APValue &RHSVal = RHSResult.Val; in VisitBinOp()
12672 Result = APValue(LHSAddrExpr, RHSAddrExpr); in VisitBinOp()
13183 return Success(APValue(LHSAddrExpr, RHSAddrExpr), E); in VisitBinaryOperator()
13500 APValue Val; in VisitCastExpr()
13547 APValue V; in VisitCastExpr()
13812 bool Success(const APValue &V, const Expr *e) { in Success()
14075 bool Success(const APValue &V, const Expr *e) { in Success()
14592 APValue &Result;
14594 AtomicExprEvaluator(EvalInfo &Info, const LValue *This, APValue &Result) in AtomicExprEvaluator()
14597 bool Success(const APValue &V, const Expr *E) { in Success()
14623 static bool EvaluateAtomic(const Expr *E, const LValue *This, APValue &Result, in EvaluateAtomic()
14641 bool Success(const APValue &V, const Expr *e) { return true; } in Success()
14759 static bool Evaluate(APValue &Result, EvalInfo &Info, const Expr *E) { in Evaluate()
14784 Result = APValue(F); in Evaluate()
14800 APValue &Value = in Evaluate()
14807 APValue &Value = in Evaluate()
14822 APValue &Value = Info.CurrentCall->createTemporary( in Evaluate()
14844 static bool EvaluateInPlace(APValue &Result, EvalInfo &Info, const LValue &This, in EvaluateInPlace()
14872 static bool EvaluateAsRValue(EvalInfo &Info, const Expr *E, APValue &Result) { in EvaluateAsRValue()
14906 Result.Val = APValue(APSInt(L->getValue(), in FastEvaluateAsRValue()
15062 static bool EvaluateDestruction(const ASTContext &Ctx, APValue::LValueBase Base, in EvaluateDestruction()
15063 APValue DestroyedValue, QualType Type, in EvaluateDestruction()
15104 APValue::LValueBase Base(&BaseMTE); in EvaluateAsConstantExpr()
15136 bool Expr::EvaluateAsInitializer(APValue &Value, const ASTContext &Ctx, in EvaluateAsInitializer()
15199 APValue DestroyedValue; in evaluateDestruction()
15740 APValue Result; in EvaluateCPlusPlus11IntegralConstantExpr()
15810 bool Expr::isCXX11ConstantExpr(const ASTContext &Ctx, APValue *Result, in isCXX11ConstantExpr()
15825 APValue Scratch; in isCXX11ConstantExpr()
15843 bool Expr::EvaluateWithSubstitution(APValue &Value, ASTContext &Ctx, in EvaluateWithSubstitution()
15883 if (APValue *Slot = Info.getParamSlot(Call, PVD)) in EvaluateWithSubstitution()
15884 *Slot = APValue(); in EvaluateWithSubstitution()
15938 APValue Scratch; in isPotentialConstantExpr()
15971 APValue ResultScratch; in isPotentialConstantExprUnevaluated()
16022 APValue Char; in EvaluateBuiltinStrLen()