Mercurial > projects > ldc
comparison ir/irfunction.h @ 1216:033f18ec1371
Unify %.frames_list and %.frame into a single data structure, generalizing r1212
to all frames instead of just the outer-most one.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Wed, 15 Apr 2009 20:59:19 +0200 |
parents | df2227fdc860 |
children | 5f340a6dc749 |
comparison
equal
deleted
inserted
replaced
1215:08f87d8cd101 | 1216:033f18ec1371 |
---|---|
43 llvm::Value* retArg; // return in ptr arg | 43 llvm::Value* retArg; // return in ptr arg |
44 llvm::Value* thisArg; // class/struct 'this' arg | 44 llvm::Value* thisArg; // class/struct 'this' arg |
45 llvm::Value* nestArg; // nested function 'this' arg | 45 llvm::Value* nestArg; // nested function 'this' arg |
46 | 46 |
47 llvm::Value* nestedVar; // nested var alloca | 47 llvm::Value* nestedVar; // nested var alloca |
48 const llvm::StructType* framesType; // type of nested context (not for -nested-ctx=array) | 48 const llvm::StructType* frameType; // type of nested context (not for -nested-ctx=array) |
49 bool elidedCtxList; // whether the nested context is a raw frame instead of a list of frames (-nested-ctx=hybrid only) | 49 unsigned depth; // number of enclosing functions with variables accessed by nested functions |
50 | 50 |
51 llvm::Value* _arguments; | 51 llvm::Value* _arguments; |
52 llvm::Value* _argptr; | 52 llvm::Value* _argptr; |
53 | 53 |
54 llvm::DISubprogram diSubprogram; | 54 llvm::DISubprogram diSubprogram; |