Lines Matching refs:ConstantExpr
347 static void AssertResultStorageKind(ConstantExpr::ResultStorageKind Kind) { in AssertResultStorageKind()
348 assert((Kind == ConstantExpr::RSK_APValue || in AssertResultStorageKind()
349 Kind == ConstantExpr::RSK_Int64 || Kind == ConstantExpr::RSK_None) && in AssertResultStorageKind()
354 ConstantExpr::ResultStorageKind
355 ConstantExpr::getStorageKind(const APValue &Value) { in getStorageKind()
359 return ConstantExpr::RSK_None; in getStorageKind()
362 return ConstantExpr::RSK_Int64; in getStorageKind()
365 return ConstantExpr::RSK_APValue; in getStorageKind()
369 ConstantExpr::ResultStorageKind
370 ConstantExpr::getStorageKind(const Type *T, const ASTContext &Context) { in getStorageKind()
372 return ConstantExpr::RSK_Int64; in getStorageKind()
373 return ConstantExpr::RSK_APValue; in getStorageKind()
376 ConstantExpr::ConstantExpr(Expr *SubExpr, ResultStorageKind StorageKind, in ConstantExpr() function in ConstantExpr
386 if (StorageKind == ConstantExpr::RSK_APValue) in ConstantExpr()
390 ConstantExpr *ConstantExpr::Create(const ASTContext &Context, Expr *E, in Create()
393 assert(!isa<ConstantExpr>(E)); in Create()
397 StorageKind == ConstantExpr::RSK_APValue, in Create()
398 StorageKind == ConstantExpr::RSK_Int64); in Create()
399 void *Mem = Context.Allocate(Size, alignof(ConstantExpr)); in Create()
400 return new (Mem) ConstantExpr(E, StorageKind, IsImmediateInvocation); in Create()
403 ConstantExpr *ConstantExpr::Create(const ASTContext &Context, Expr *E, in Create()
406 ConstantExpr *Self = Create(Context, E, StorageKind); in Create()
411 ConstantExpr::ConstantExpr(EmptyShell Empty, ResultStorageKind StorageKind) in ConstantExpr() function in ConstantExpr
415 if (StorageKind == ConstantExpr::RSK_APValue) in ConstantExpr()
419 ConstantExpr *ConstantExpr::CreateEmpty(const ASTContext &Context, in CreateEmpty()
424 StorageKind == ConstantExpr::RSK_APValue, in CreateEmpty()
425 StorageKind == ConstantExpr::RSK_Int64); in CreateEmpty()
426 void *Mem = Context.Allocate(Size, alignof(ConstantExpr)); in CreateEmpty()
427 return new (Mem) ConstantExpr(EmptyShell(), StorageKind); in CreateEmpty()
430 void ConstantExpr::MoveIntoResult(APValue &Value, const ASTContext &Context) { in MoveIntoResult()
453 llvm::APSInt ConstantExpr::getResultAsAPSInt() const { in getResultAsAPSInt()
455 case ConstantExpr::RSK_APValue: in getResultAsAPSInt()
457 case ConstantExpr::RSK_Int64: in getResultAsAPSInt()
465 APValue ConstantExpr::getAPValueResult() const { in getAPValueResult()
468 case ConstantExpr::RSK_APValue: in getAPValueResult()
470 case ConstantExpr::RSK_Int64: in getAPValueResult()
474 case ConstantExpr::RSK_None: in getAPValueResult()
3318 const Expr *Exp = cast<ConstantExpr>(this)->getSubExpr(); in isConstantInitializer()
3578 return cast<ConstantExpr>(this)->getSubExpr()->HasSideEffects( in HasSideEffects()