Lines Matching refs:ConstantExpr

246 static void AssertResultStorageKind(ConstantExpr::ResultStorageKind Kind) {  in AssertResultStorageKind()
247 assert((Kind == ConstantExpr::RSK_APValue || in AssertResultStorageKind()
248 Kind == ConstantExpr::RSK_Int64 || Kind == ConstantExpr::RSK_None) && in AssertResultStorageKind()
253 ConstantExpr::ResultStorageKind
254 ConstantExpr::getStorageKind(const APValue &Value) { in getStorageKind()
258 return ConstantExpr::RSK_None; in getStorageKind()
261 return ConstantExpr::RSK_Int64; in getStorageKind()
264 return ConstantExpr::RSK_APValue; in getStorageKind()
268 ConstantExpr::ResultStorageKind
269 ConstantExpr::getStorageKind(const Type *T, const ASTContext &Context) { in getStorageKind()
271 return ConstantExpr::RSK_Int64; in getStorageKind()
272 return ConstantExpr::RSK_APValue; in getStorageKind()
275 ConstantExpr::ConstantExpr(Expr *SubExpr, ResultStorageKind StorageKind, in ConstantExpr() function in ConstantExpr
285 if (StorageKind == ConstantExpr::RSK_APValue) in ConstantExpr()
289 ConstantExpr *ConstantExpr::Create(const ASTContext &Context, Expr *E, in Create()
292 assert(!isa<ConstantExpr>(E)); in Create()
296 StorageKind == ConstantExpr::RSK_APValue, in Create()
297 StorageKind == ConstantExpr::RSK_Int64); in Create()
298 void *Mem = Context.Allocate(Size, alignof(ConstantExpr)); in Create()
299 return new (Mem) ConstantExpr(E, StorageKind, IsImmediateInvocation); in Create()
302 ConstantExpr *ConstantExpr::Create(const ASTContext &Context, Expr *E, in Create()
305 ConstantExpr *Self = Create(Context, E, StorageKind); in Create()
310 ConstantExpr::ConstantExpr(EmptyShell Empty, ResultStorageKind StorageKind) in ConstantExpr() function in ConstantExpr
314 if (StorageKind == ConstantExpr::RSK_APValue) in ConstantExpr()
318 ConstantExpr *ConstantExpr::CreateEmpty(const ASTContext &Context, in CreateEmpty()
323 StorageKind == ConstantExpr::RSK_APValue, in CreateEmpty()
324 StorageKind == ConstantExpr::RSK_Int64); in CreateEmpty()
325 void *Mem = Context.Allocate(Size, alignof(ConstantExpr)); in CreateEmpty()
326 return new (Mem) ConstantExpr(EmptyShell(), StorageKind); in CreateEmpty()
329 void ConstantExpr::MoveIntoResult(APValue &Value, const ASTContext &Context) { in MoveIntoResult()
352 llvm::APSInt ConstantExpr::getResultAsAPSInt() const { in getResultAsAPSInt()
354 case ConstantExpr::RSK_APValue: in getResultAsAPSInt()
356 case ConstantExpr::RSK_Int64: in getResultAsAPSInt()
364 APValue ConstantExpr::getAPValueResult() const { in getAPValueResult()
367 case ConstantExpr::RSK_APValue: in getAPValueResult()
369 case ConstantExpr::RSK_Int64: in getAPValueResult()
373 case ConstantExpr::RSK_None: in getAPValueResult()
3134 const Expr *Exp = cast<ConstantExpr>(this)->getSubExpr(); in isConstantInitializer()
3389 return cast<ConstantExpr>(this)->getSubExpr()->HasSideEffects( in HasSideEffects()