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()
986 void setEvaluatingDecl(APValue::LValueBase Base, APValue &Value, in setEvaluatingDecl()
1035 APValue *createHeapAlloc(const Expr *E, QualType T, LValue &LV);
1046 APValue *getParamSlot(CallRef Call, const ParmVarDecl *PVD) { in getParamSlot()
1529 void moveInto(APValue &v) const { in moveInto()
1531 v = APValue(FloatReal, FloatImag); in moveInto()
1533 v = APValue(IntReal, IntImag); in moveInto()
1535 void setFrom(const APValue &v) { in setFrom()
1550 APValue::LValueBase Base;
1556 const APValue::LValueBase getLValueBase() const { return Base; } in getLValueBase()
1566 void moveInto(APValue &V) const { in moveInto()
1568 V = APValue(Base, Offset, APValue::NoLValuePath(), IsNullPtr); in moveInto()
1571 V = APValue(Base, Offset, Designator.Entries, in moveInto()
1575 void setFrom(ASTContext &Ctx, const APValue &V) { in setFrom()
1584 void set(APValue::LValueBase B, bool BInvalid = false) { in set()
1610 void setInvalid(APValue::LValueBase B, unsigned I = 0) { in setInvalid()
1615 APValue Printable; in toString()
1731 void moveInto(APValue &V) const { in moveInto()
1732 V = APValue(getDecl(), isDerivedMember(), Path); in moveInto()
1734 void setFrom(const APValue &V) { in setFrom()
1810 static bool Evaluate(APValue &Result, EvalInfo &Info, const Expr *E);
1811 static bool EvaluateInPlace(APValue &Result, EvalInfo &Info,
1822 static bool EvaluateIntegerOrLValue(const Expr *E, APValue &Result,
1826 static bool EvaluateAtomic(const Expr *E, const LValue *This, APValue &Result,
1828 static bool EvaluateAsRValue(EvalInfo &Info, const Expr *E, APValue &Result);
1853 APValue &CallStackFrame::createTemporary(const KeyT *Key, QualType T, in createTemporary()
1856 APValue::LValueBase Base(Key, Index, Version); in createTemporary()
1862 APValue &CallStackFrame::createParam(CallRef Args, const ParmVarDecl *PVD, in createParam()
1865 APValue::LValueBase Base(PVD, Index, Args.Version); in createParam()
1873 APValue &CallStackFrame::createLocal(APValue::LValueBase Base, const void *Key, in createLocal()
1877 APValue &Result = Temporaries[MapKeyTy(Key, Version)]; in createLocal()
1893 APValue *EvalInfo::createHeapAlloc(const Expr *E, QualType T, LValue &LV) { in createHeapAlloc()
1900 LV.set(APValue::LValueBase::getDynamicAlloc(DA, T)); in createHeapAlloc()
1919 APValue Val; in describe()
1934 APValue *V = Info.getParamSlot(Arguments, Param); in describe()
1952 APValue Scratch; in EvaluateIgnoredValue()
1966 static bool IsGlobalLValue(APValue::LValueBase B) { in IsGlobalLValue()
2069 static void NoteLValueLocation(EvalInfo &Info, APValue::LValueBase Base) { in NoteLValueLocation()
2113 QualType Type, const APValue &Value,
2127 APValue::LValueBase Base = LVal.getLValueBase(); in CheckLValueConstantExpression()
2248 APValue *V = MTE->getOrCreateValue(false); in CheckLValueConstantExpression()
2284 const APValue &Value, in CheckMemberPointerConstantExpression()
2333 QualType Type, const APValue &Value, in CheckEvaluationResult()
2416 QualType Type, const APValue &Value, in CheckConstantExpression()
2431 QualType Type, const APValue &Value) { in CheckFullyInitialized()
2452 static bool EvalPointerValueAsBool(const APValue &Value, bool &Result) { in EvalPointerValueAsBool()
2467 static bool HandleConversionToBool(const APValue &Val, bool &Result) { in HandleConversionToBool()
2469 case APValue::None: in HandleConversionToBool()
2470 case APValue::Indeterminate: in HandleConversionToBool()
2472 case APValue::Int: in HandleConversionToBool()
2475 case APValue::FixedPoint: in HandleConversionToBool()
2478 case APValue::Float: in HandleConversionToBool()
2481 case APValue::ComplexInt: in HandleConversionToBool()
2485 case APValue::ComplexFloat: in HandleConversionToBool()
2489 case APValue::LValue: in HandleConversionToBool()
2491 case APValue::MemberPointer: in HandleConversionToBool()
2494 case APValue::Vector: in HandleConversionToBool()
2495 case APValue::Array: in HandleConversionToBool()
2496 case APValue::Struct: in HandleConversionToBool()
2497 case APValue::Union: in HandleConversionToBool()
2498 case APValue::AddrLabelDiff: in HandleConversionToBool()
2509 APValue Val; in EvaluateAsBooleanCondition()
2637 APValue &Value, const FieldDecl *FD) { in truncateBitfieldValue()
2659 APValue SVal; in EvalAndBitcastToAPInt()
2678 APValue &Elt = SVal.getVectorElt(i); in EvalAndBitcastToAPInt()
2897 static bool handleLogicalOpForVector(const APValue &LHSValue, in handleLogicalOpForVector()
2899 const APValue &RHSValue, APInt &Result) { in handleLogicalOpForVector()
2901 if (LHSValue.getKind() == APValue::Int) in handleLogicalOpForVector()
2904 assert(LHSValue.getKind() == APValue::Float && "Should be no other options"); in handleLogicalOpForVector()
2939 static bool handleCompareOpForVector(const APValue &LHSValue, in handleCompareOpForVector()
2941 const APValue &RHSValue, APInt &Result) { in handleCompareOpForVector()
2943 if (LHSValue.getKind() == APValue::Int) in handleCompareOpForVector()
2946 assert(LHSValue.getKind() == APValue::Float && "Should be no other options"); in handleCompareOpForVector()
2954 APValue &LHSValue, in handleVectorVectorBinOp()
2955 const APValue &RHSValue) { in handleVectorVectorBinOp()
2976 SmallVector<APValue, 4> ResultElements; in handleVectorVectorBinOp()
2979 APValue LHSElt = LHSValue.getVectorElt(EltNum); in handleVectorVectorBinOp()
2980 APValue RHSElt = RHSValue.getVectorElt(EltNum); in handleVectorVectorBinOp()
3002 assert(LHSElt.getKind() == APValue::Float && in handleVectorVectorBinOp()
3003 RHSElt.getKind() == APValue::Float && in handleVectorVectorBinOp()
3017 LHSValue = APValue(ResultElements.data(), ResultElements.size()); in handleVectorVectorBinOp()
3224 unsigned Version, APValue *&Result) { in evaluateVarDeclInit()
3225 APValue::LValueBase Base(VD, Frame ? Frame->Index : 0, Version); in evaluateVarDeclInit()
3398 APValue &Result, in expandStringLiteral()
3407 Result = APValue(APValue::UninitArray(), in expandStringLiteral()
3412 Result.getArrayFiller() = APValue(Value); in expandStringLiteral()
3415 Result.getArrayInitializedElt(I) = APValue(Value); in expandStringLiteral()
3420 static void expandArray(APValue &Array, unsigned Index) { in expandArray()
3430 APValue NewValue(APValue::UninitArray(), NewElts, Size); in expandArray()
3506 APValue::LValueBase Base, in lifetimeStartedInEvaluation()
3550 APValue::LValueBase Base;
3552 APValue *Value;
3557 CompleteObject(APValue::LValueBase Base, APValue *Value, QualType Type) in CompleteObject()
3613 APValue *O = Obj.Value; in findSubobject()
3764 O->setUnion(Field, APValue()); in findSubobject()
3798 APValue &Result;
3803 bool found(APValue &Subobj, QualType SubobjType) { in found()
3810 Result = APValue(Value); in found()
3814 Result = APValue(Value); in found()
3823 const SubobjectDesignator &Sub, APValue &Result, in extractSubobject()
3833 APValue &NewVal;
3849 bool found(APValue &Subobj, QualType SubobjType) { in found()
3882 APValue &NewVal) { in modifySubobject()
3988 APValue *BaseVal = nullptr; in findCompleteObject()
4004 APValue &V = GD->getAsAPValue(); in findCompleteObject()
4019 return CompleteObject(LVal.Base, const_cast<APValue *>(&TPO->getValue()), in findCompleteObject()
4163 APValue Val; in findCompleteObject()
4213 const LValue &LVal, APValue &RVal, in handleLValueToRValueConversion()
4233 APValue Lit; in handleLValueToRValueConversion()
4258 RVal = APValue(extractStringLiteralCharacter(Info, Base, CharIndex)); in handleLValueToRValueConversion()
4269 QualType LValType, APValue &Val) { in handleAssignment()
4288 const APValue &RHS;
4304 bool found(APValue &Subobj, QualType SubobjType) { in found()
4306 case APValue::Int: in found()
4308 case APValue::Float: in found()
4310 case APValue::ComplexInt: in found()
4311 case APValue::ComplexFloat: in found()
4315 case APValue::LValue: in found()
4317 case APValue::Vector: in found()
4326 bool foundVector(APValue &Value, QualType SubobjType) { in foundVector()
4376 bool foundPointer(APValue &Subobj, QualType SubobjType) { in foundPointer()
4412 const APValue &RVal) { in handleCompoundAssignment()
4432 APValue *Old;
4446 bool found(APValue &Subobj, QualType SubobjType) { in found()
4455 case APValue::Int: in found()
4457 case APValue::Float: in found()
4459 case APValue::ComplexInt: in found()
4463 case APValue::ComplexFloat: in found()
4467 case APValue::LValue: in found()
4486 if (Old) *Old = APValue(Value); in found()
4522 if (Old) *Old = APValue(Value); in found()
4531 bool foundPointer(APValue &Subobj, QualType SubobjType) { in foundPointer()
4556 QualType LValType, bool IsIncrement, APValue *Old) { in handleIncDec()
4738 static bool getDefaultInitValue(QualType T, APValue &Result) { in getDefaultInitValue()
4742 Result = APValue(); in getDefaultInitValue()
4746 Result = APValue((const FieldDecl *)nullptr); in getDefaultInitValue()
4749 Result = APValue(APValue::UninitStruct(), RD->getNumBases(), in getDefaultInitValue()
4769 Result = APValue(APValue::UninitArray(), 0, AT->getSize().getZExtValue()); in getDefaultInitValue()
4777 Result = APValue::IndeterminateValue(); in getDefaultInitValue()
4804 APValue &Val = Info.CurrentCall->createTemporary(VD, VD->getType(), in EvaluateVarDecl()
4819 Val = APValue(); in EvaluateVarDecl()
4867 APValue &Value;
5509 bool found(APValue &Subobj, QualType SubobjType) { return true; } in found()
5541 APValue Val; in checkDynamicType()
5609 ArrayRef<APValue::LValuePathEntry> Path = This.Designator.Entries; in ComputeDynamicType()
5705 APValue &Result, in HandleCovariantReturnAdjustment()
5850 bool found(APValue &Subobj, QualType SubobjType) { in found()
5873 APValue Result; in found()
5998 APValue &V = PVD ? Info.CurrentCall->createParam(Call, PVD, LV) in EvaluateCallArg()
6054 const Expr *E, APValue &Result, in handleTrivialCopy()
6058 APValue *RefValue = Info.getParamSlot(Frame->Arguments, Param); in handleTrivialCopy()
6077 APValue &Result, const LValue *ResultSlot) { in HandleFunctionCall()
6096 APValue RHSValue; in HandleFunctionCall()
6134 EvalInfo &Info, APValue &Result) { in HandleConstructorCall()
6153 APValue RetVal; in HandleConstructorCall()
6190 Result = APValue(APValue::UninitStruct(), RD->getNumBases(), in HandleConstructorCall()
6194 Result = APValue((const FieldDecl*)nullptr); in HandleConstructorCall()
6231 APValue *Value = &Result; in HandleConstructorCall()
6253 Result = APValue(FD); in HandleConstructorCall()
6274 *Value = APValue(FD); in HandleConstructorCall()
6347 EvalInfo &Info, APValue &Result) { in HandleConstructorCall()
6358 const LValue &This, APValue &Value, in HandleDestructionImpl()
6365 APValue Printable; in HandleDestructionImpl()
6393 APValue &Elem = Value.getArrayInitializedElt(Size - 1); in HandleDestructionImpl()
6400 Value = APValue(); in HandleDestructionImpl()
6411 Value = APValue(); in HandleDestructionImpl()
6437 Value = APValue(); in HandleDestructionImpl()
6470 APValue RetVal; in HandleDestructionImpl()
6492 APValue *SubobjectValue = &Value.getStructField(FD->getFieldIndex()); in HandleDestructionImpl()
6511 APValue *SubobjectValue = &Value.getStructBase(BasesLeft); in HandleDestructionImpl()
6519 Value = APValue(); in HandleDestructionImpl()
6532 bool found(APValue &Subobj, QualType SubobjType) { in found()
6558 APValue::LValueBase LVBase, APValue &Value, in HandleDestruction()
6628 APValue *Val = Info.createHeapAlloc(E, AllocType, Result); in HandleOperatorNewCall()
6629 *Val = APValue(APValue::UninitArray(), 0, Size.getZExtValue()); in HandleOperatorNewCall()
6801 bool visit(const APValue &Val, QualType Ty) { in visit()
6806 bool visit(const APValue &Val, QualType Ty, CharUnits Offset) { in visit()
6815 case APValue::Indeterminate: in visit()
6816 case APValue::None: in visit()
6819 case APValue::Int: in visit()
6821 case APValue::Float: in visit()
6823 case APValue::Array: in visit()
6825 case APValue::Struct: in visit()
6828 case APValue::ComplexInt: in visit()
6829 case APValue::ComplexFloat: in visit()
6830 case APValue::Vector: in visit()
6831 case APValue::FixedPoint: in visit()
6834 case APValue::Union: in visit()
6835 case APValue::MemberPointer: in visit()
6836 case APValue::AddrLabelDiff: { in visit()
6843 case APValue::LValue: in visit()
6849 bool visitRecord(const APValue &Val, QualType Ty, CharUnits Offset) { in visitRecord()
6889 bool visitArray(const APValue &Val, QualType Ty, CharUnits Offset) { in visitArray()
6900 const APValue &SubObj = Val.getArrayInitializedElt(I); in visitArray()
6907 const APValue &Filler = Val.getArrayFiller(); in visitArray()
6937 static Optional<BitCastBuffer> convert(EvalInfo &Info, const APValue &Src, in convert()
6974 Optional<APValue> visit(const BuiltinType *T, CharUnits Offset, in visit()
6978 return APValue((Expr *)nullptr, in visit()
6980 APValue::NoLValuePath{}, /*IsNullPtr=*/true); in visit()
7014 return APValue::IndeterminateValue(); in visit()
7031 return APValue(Val); in visit()
7037 return APValue(APFloat(Semantics, Val)); in visit()
7043 Optional<APValue> visit(const RecordType *RTy, CharUnits Offset) { in visit()
7051 APValue ResultVal(APValue::UninitStruct(), NumBases, in visit()
7063 Optional<APValue> SubObj = visitType( in visit()
7089 Optional<APValue> SubObj = visitType(FieldTy, FieldOffset); in visit()
7099 Optional<APValue> visit(const EnumType *Ty, CharUnits Offset) { in visit()
7110 Optional<APValue> visit(const ConstantArrayType *Ty, CharUnits Offset) { in visit()
7114 APValue ArrayValue(APValue::UninitArray(), Size, Size); in visit()
7116 Optional<APValue> ElementValue = in visit()
7126 Optional<APValue> visit(const Type *Ty, CharUnits Offset) { in visit()
7130 Optional<APValue> visitType(QualType Ty, CharUnits Offset) { in visitType()
7155 static Optional<APValue> convert(EvalInfo &Info, BitCastBuffer &Buffer, in convert()
7225 static bool handleLValueToRValueBitCast(EvalInfo &Info, APValue &DestValue, in handleLValueToRValueBitCast()
7226 APValue &SourceValue, in handleLValueToRValueBitCast()
7237 APValue SourceRValue; in handleLValueToRValueBitCast()
7251 Optional<APValue> MaybeDestValue = in handleLValueToRValueBitCast()
7265 bool DerivedSuccess(const APValue &V, const Expr *E) { in DerivedSuccess()
7423 APValue Result; in VisitBinaryOperator()
7477 if (APValue *Value = Info.CurrentCall->getCurrentTemporary(E)) in VisitOpaqueValueExpr()
7522 APValue Result; in VisitCallExpr()
7528 bool handleCallExpr(const CallExpr *E, APValue &Result, in handleCallExpr()
7738 APValue Val; in VisitMemberExpr()
7753 CompleteObject Obj(APValue::LValueBase(), &Val, BaseTy); in VisitMemberExpr()
7757 APValue Result; in VisitMemberExpr()
7763 APValue Val; in VisitExtVectorElementExpr()
7775 SmallVector<APValue, 4> Elts; in VisitExtVectorElementExpr()
7779 APValue VecResult(Elts.data(), Indices.size()); in VisitExtVectorElementExpr()
7793 APValue AtomicVal; in VisitCastExpr()
7810 APValue RVal; in VisitCastExpr()
7818 APValue DestValue, SourceValue; in VisitCastExpr()
7827 APValue Value; in VisitCastExpr()
7850 APValue RVal; in VisitUnaryPostIncDec()
7881 APValue ReturnValue; in VisitStmtExpr()
7928 bool Success(APValue::LValueBase B) { in Success()
7942 bool Success(const APValue &V, const Expr *E) { in Success()
7983 APValue RefValue; in VisitMemberExpr()
8164 APValue RVal; in VisitVarDecl()
8216 APValue *V; in VisitVarDecl()
8245 APValue *Value; in VisitMaterializeTemporaryExpr()
8249 *Value = APValue(); in VisitMaterializeTemporaryExpr()
8263 *Value = APValue(); in VisitMaterializeTemporaryExpr()
8332 return Success(APValue::LValueBase::getTypeInfo(TypeInfo, E->getType())); in VisitCXXTypeidExpr()
8423 APValue RHS; in VisitCompoundAssignOperator()
8447 APValue NewVal; in VisitBinAssign()
8536 static bool evaluateLValueAsAllocSize(EvalInfo &Info, APValue::LValueBase Base, in evaluateLValueAsAllocSize()
8594 bool Success(const APValue &V, const Expr *E) { in Success()
8654 APValue RVal; in VisitCXXThisExpr()
8669 APValue LValResult = E->EvaluateInContext( in VisitSourceLocExpr()
8805 APValue Value; in VisitCastExpr()
8830 APValue &Value = Info.CurrentCall->createTemporary( in VisitCastExpr()
8852 APValue RVal; in VisitCastExpr()
9172 APValue Char; in VisitBuiltinCallExpr()
9234 APValue Val; in VisitBuiltinCallExpr()
9316 APValue Val; in VisitBuiltinCallExpr()
9340 APValue &Result, const InitListExpr *ILE,
9343 APValue &Result,
9479 APValue *Val; in VisitCXXNewExpr()
9487 APValue *Value; in VisitCXXNewExpr()
9491 bool found(APValue &Subobj, QualType SubobjType) { in VisitCXXNewExpr()
9522 *Val = APValue(); in VisitCXXNewExpr()
9574 bool Success(const APValue &V, const Expr *E) { in Success()
9653 APValue &Result;
9656 RecordExprEvaluator(EvalInfo &info, const LValue &This, APValue &Result) in RecordExprEvaluator()
9659 bool Success(const APValue &V, const Expr *E) { in Success()
9693 const LValue &This, APValue &Result) { in HandleClassZeroInitialization()
9696 Result = APValue(APValue::UninitStruct(), CD ? CD->getNumBases() : 0, in HandleClassZeroInitialization()
9744 Result = APValue((const FieldDecl*)nullptr); in ZeroInitialization()
9751 Result = APValue(*I); in ZeroInitialization()
9774 APValue DerivedObject; in VisitCastExpr()
9781 APValue *Value = &DerivedObject; in VisitCastExpr()
9812 Result = APValue(Field); in VisitInitListExpr()
9843 Result = APValue(APValue::UninitStruct(), CXXRD ? CXXRD->getNumBases() : 0, in VisitInitListExpr()
9858 APValue &FieldVal = Result.getStructBase(ElementNo); in VisitInitListExpr()
9896 APValue &FieldVal = Result.getStructField(Field->getFieldIndex()); in VisitInitListExpr()
10013 Result = APValue(APValue::UninitStruct(), 0, 2); in VisitCXXStdInitializerListExpr()
10030 Result.getStructField(1) = APValue(APSInt(ArrayType->getSize())); in VisitCXXStdInitializerListExpr()
10053 Result = APValue(APValue::UninitStruct(), /*NumBases*/0, NumFields); in VisitLambdaExpr()
10075 APValue &FieldVal = Result.getStructField(Field->getFieldIndex()); in VisitLambdaExpr()
10087 APValue &Result, EvalInfo &Info) { in EvaluateRecord()
10110 APValue &Value = Info.CurrentCall->createTemporary( in VisitConstructExpr()
10156 APValue &Result;
10159 VectorExprEvaluator(EvalInfo &info, APValue &Result) in VectorExprEvaluator()
10162 bool Success(ArrayRef<APValue> V, const Expr *E) { in Success()
10165 Result = APValue(V.data(), V.size()); in Success()
10168 bool Success(const APValue &V, const Expr *E) { in Success()
10186 static bool EvaluateVector(const Expr* E, APValue& Result, EvalInfo &Info) { in EvaluateVector()
10201 APValue Val = APValue(); in VisitCastExpr()
10206 Val = APValue(std::move(IntResult)); in VisitCastExpr()
10211 Val = APValue(std::move(FloatResult)); in VisitCastExpr()
10217 SmallVector<APValue, 4> Elts(NElts, Val); in VisitCastExpr()
10229 SmallVector<APValue, 4> Elts; in VisitCastExpr()
10241 Elts.push_back(APValue(APFloat(Sem, Elt))); in VisitCastExpr()
10250 Elts.push_back(APValue(APSInt(Elt, !EltTy->isSignedIntegerType()))); in VisitCastExpr()
10269 SmallVector<APValue, 4> Elements; in VisitInitListExpr()
10280 APValue v; in VisitInitListExpr()
10294 Elements.push_back(APValue(sInt)); in VisitInitListExpr()
10303 Elements.push_back(APValue(f)); in VisitInitListExpr()
10315 APValue ZeroElement; in ZeroInitialization()
10317 ZeroElement = APValue(Info.Ctx.MakeIntValue(0, EltTy)); in ZeroInitialization()
10320 APValue(APFloat::getZero(Info.Ctx.getFloatTypeSemantics(EltTy))); in ZeroInitialization()
10322 SmallVector<APValue, 4> Elements(VT->getNumElements(), ZeroElement); in ZeroInitialization()
10352 APValue LHSValue; in VisitBinaryOperator()
10353 APValue RHSValue; in VisitBinaryOperator()
10374 APValue &Result;
10377 ArrayExprEvaluator(EvalInfo &Info, const LValue &This, APValue &Result) in ArrayExprEvaluator()
10380 bool Success(const APValue &V, const Expr *E) { in Success()
10394 Result = APValue(APValue::UninitArray(), 0, 0); in ZeroInitialization()
10401 Result = APValue(APValue::UninitArray(), 0, in ZeroInitialization()
10422 APValue *Value, QualType Type);
10432 APValue &Result, EvalInfo &Info) { in EvaluateArray()
10440 APValue &Result, const InitListExpr *ILE, in EvaluateArrayNewInitList()
10450 APValue &Result, in EvaluateArrayNewConstructExpr()
10498 APValue Filler; in VisitInitListExpr()
10514 Result = APValue(APValue::UninitArray(), NumEltsToInit, NumElts); in VisitInitListExpr()
10563 Result = APValue(APValue::UninitArray(), Elements, Elements); in VisitArrayInitLoopExpr()
10589 APValue *Value, in VisitCXXConstructExpr()
10597 APValue Filler = in VisitCXXConstructExpr()
10599 : APValue(); in VisitCXXConstructExpr()
10601 *Value = APValue(APValue::UninitArray(), N, N); in VisitCXXConstructExpr()
10638 APValue &Result;
10640 IntExprEvaluator(EvalInfo &info, APValue &result) in IntExprEvaluator()
10643 bool Success(const llvm::APSInt &SI, const Expr *E, APValue &Result) { in Success()
10650 Result = APValue(SI); in Success()
10657 bool Success(const llvm::APInt &I, const Expr *E, APValue &Result) { in Success()
10662 Result = APValue(APSInt(I)); in Success()
10671 bool Success(uint64_t Value, const Expr *E, APValue &Result) { in Success()
10674 Result = APValue(Info.Ctx.MakeIntValue(Value, E->getType())); in Success()
10685 bool Success(const APValue &V, const Expr *E) { in Success()
10779 APValue &Result;
10782 FixedPointExprEvaluator(EvalInfo &info, APValue &result) in FixedPointExprEvaluator()
10795 bool Success(const APValue &V, const Expr *E) { in Success()
10803 Result = APValue(V); in Success()
10829 static bool EvaluateIntegerOrLValue(const Expr *E, APValue &Result, in EvaluateIntegerOrLValue()
10838 APValue Val; in EvaluateInteger()
10852 APValue Evaluated = E->EvaluateInContext( in VisitSourceLocExpr()
10861 APValue Val; in EvaluateFixedPoint()
11108 static bool EvaluateBuiltinConstantPForLValue(const APValue &LV) { in EvaluateBuiltinConstantPForLValue()
11109 APValue::LValueBase Base = LV.getLValueBase(); in EvaluateBuiltinConstantPForLValue()
11158 APValue V; in EvaluateBuiltinConstantP()
11165 if (V.getKind() == APValue::LValue) in EvaluateBuiltinConstantP()
11178 static QualType getObjectType(APValue::LValueBase B) { in getObjectType()
11460 APValue RVal; in tryEvaluateBuiltinObjectSize()
11497 APValue &Val, APSInt &Alignment) { in getBuiltinAlignArguments()
11517 Val = APValue(SrcInt); in getBuiltinAlignArguments()
11566 APValue Src; in VisitBuiltinCallExpr()
11600 APValue Src; in VisitBuiltinCallExpr()
11613 APValue Src; in VisitBuiltinCallExpr()
11882 APValue Char; in VisitBuiltinCallExpr()
11964 const auto &ReadCurElems = [&](APValue &Char1, APValue &Char2) { in VisitBuiltinCallExpr()
11988 APValue Char1, Char2; in VisitBuiltinCallExpr()
12163 APValue APV{Result}; in VisitBuiltinCallExpr()
12207 APValue Val;
12239 APValue &FinalResult;
12242 DataRecursiveIntBinOpEvaluator(IntExprEvaluator &IntEval, APValue &Result) in DataRecursiveIntBinOpEvaluator()
12269 bool Success(uint64_t Value, const Expr *E, APValue &Result) { in Success()
12272 bool Success(const APSInt &Value, const Expr *E, APValue &Result) { in Success()
12291 const BinaryOperator *E, APValue &Result);
12296 Result.Val = APValue(); in EvaluateExpr()
12356 static void addOrSubLValueAsInteger(APValue &LVal, const APSInt &Index, in addOrSubLValueAsInteger()
12371 const BinaryOperator *E, APValue &Result) { in VisitBinOp()
12409 const APValue &LHSVal = LHSResult.Val; in VisitBinOp()
12410 const APValue &RHSVal = RHSResult.Val; in VisitBinOp()
12444 Result = APValue(LHSAddrExpr, RHSAddrExpr); in VisitBinOp()
12955 return Success(APValue(LHSAddrExpr, RHSAddrExpr), E); in VisitBinaryOperator()
13272 APValue Val; in VisitCastExpr()
13319 APValue V; in VisitCastExpr()
13584 bool Success(const APValue &V, const Expr *e) { in Success()
13843 bool Success(const APValue &V, const Expr *e) { in Success()
14360 APValue &Result;
14362 AtomicExprEvaluator(EvalInfo &Info, const LValue *This, APValue &Result) in AtomicExprEvaluator()
14365 bool Success(const APValue &V, const Expr *E) { in Success()
14391 static bool EvaluateAtomic(const Expr *E, const LValue *This, APValue &Result, in EvaluateAtomic()
14409 bool Success(const APValue &V, const Expr *e) { return true; } in Success()
14527 static bool Evaluate(APValue &Result, EvalInfo &Info, const Expr *E) { in Evaluate()
14552 Result = APValue(F); in Evaluate()
14568 APValue &Value = in Evaluate()
14575 APValue &Value = in Evaluate()
14590 APValue &Value = Info.CurrentCall->createTemporary( in Evaluate()
14612 static bool EvaluateInPlace(APValue &Result, EvalInfo &Info, const LValue &This, in EvaluateInPlace()
14640 static bool EvaluateAsRValue(EvalInfo &Info, const Expr *E, APValue &Result) { in EvaluateAsRValue()
14674 Result.Val = APValue(APSInt(L->getValue(), in FastEvaluateAsRValue()
14830 static bool EvaluateDestruction(const ASTContext &Ctx, APValue::LValueBase Base, in EvaluateDestruction()
14831 APValue DestroyedValue, QualType Type, in EvaluateDestruction()
14872 APValue::LValueBase Base(&BaseMTE); in EvaluateAsConstantExpr()
14904 bool Expr::EvaluateAsInitializer(APValue &Value, const ASTContext &Ctx, in EvaluateAsInitializer()
14965 APValue DestroyedValue; in evaluateDestruction()
15506 APValue Result; in EvaluateCPlusPlus11IntegralConstantExpr()
15574 bool Expr::isCXX11ConstantExpr(const ASTContext &Ctx, APValue *Result, in isCXX11ConstantExpr()
15589 APValue Scratch; in isCXX11ConstantExpr()
15607 bool Expr::EvaluateWithSubstitution(APValue &Value, ASTContext &Ctx, in EvaluateWithSubstitution()
15647 if (APValue *Slot = Info.getParamSlot(Call, PVD)) in EvaluateWithSubstitution()
15648 *Slot = APValue(); in EvaluateWithSubstitution()
15702 APValue Scratch; in isPotentialConstantExpr()
15735 APValue ResultScratch; in isPotentialConstantExprUnevaluated()