Deleted Added
full compact
CodeGenFunction.h (193326) CodeGenFunction.h (193401)
1//===-- CodeGenFunction.h - Per-Function state for LLVM CodeGen -*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 225 unchanged lines hidden (view full) ---

234
235 /// BlockScopes - Map of which "cleanup scope" scope basic blocks have.
236 BlockScopeMap BlockScopes;
237
238 /// CXXThisDecl - When parsing an C++ function, this will hold the implicit
239 /// 'this' declaration.
240 ImplicitParamDecl *CXXThisDecl;
241
1//===-- CodeGenFunction.h - Per-Function state for LLVM CodeGen -*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 225 unchanged lines hidden (view full) ---

234
235 /// BlockScopes - Map of which "cleanup scope" scope basic blocks have.
236 BlockScopeMap BlockScopes;
237
238 /// CXXThisDecl - When parsing an C++ function, this will hold the implicit
239 /// 'this' declaration.
240 ImplicitParamDecl *CXXThisDecl;
241
242 llvm::SmallVector<const CXXTemporary*, 4> LiveTemporaries;
242 /// CXXLiveTemporaryInfo - Holds information about a live C++ temporary.
243 struct CXXLiveTemporaryInfo {
244 /// Temporary - The live temporary.
245 const CXXTemporary *Temporary;
246
247 /// ThisPtr - The pointer to the temporary.
248 llvm::Value *ThisPtr;
249
250 /// DtorBlock - The destructor block.
251 llvm::BasicBlock *DtorBlock;
252
253 /// CondPtr - If this is a conditional temporary, this is the pointer to
254 /// the condition variable that states whether the destructor should be
255 /// called or not.
256 llvm::Value *CondPtr;
257
258 CXXLiveTemporaryInfo(const CXXTemporary *temporary,
259 llvm::Value *thisptr, llvm::BasicBlock *dtorblock,
260 llvm::Value *condptr)
261 : Temporary(temporary), ThisPtr(thisptr), DtorBlock(dtorblock),
262 CondPtr(condptr) { }
263 };
243
264
265 llvm::SmallVector<CXXLiveTemporaryInfo, 4> LiveTemporaries;
266
244public:
245 CodeGenFunction(CodeGenModule &cgm);
246
247 ASTContext &getContext() const;
248 CGDebugInfo *getDebugInfo() { return DebugInfo; }
249
250 llvm::BasicBlock *getInvokeDest() { return InvokeDest; }
251 void setInvokeDest(llvm::BasicBlock *B) { InvokeDest = B; }

--- 226 unchanged lines hidden (view full) ---

478 llvm::Value *This,
479 CallExpr::const_arg_iterator ArgBeg,
480 CallExpr::const_arg_iterator ArgEnd);
481
482 void EmitCXXDestructorCall(const CXXDestructorDecl *D, CXXDtorType Type,
483 llvm::Value *This);
484
485 void PushCXXTemporary(const CXXTemporary *Temporary, llvm::Value *Ptr);
267public:
268 CodeGenFunction(CodeGenModule &cgm);
269
270 ASTContext &getContext() const;
271 CGDebugInfo *getDebugInfo() { return DebugInfo; }
272
273 llvm::BasicBlock *getInvokeDest() { return InvokeDest; }
274 void setInvokeDest(llvm::BasicBlock *B) { InvokeDest = B; }

--- 226 unchanged lines hidden (view full) ---

501 llvm::Value *This,
502 CallExpr::const_arg_iterator ArgBeg,
503 CallExpr::const_arg_iterator ArgEnd);
504
505 void EmitCXXDestructorCall(const CXXDestructorDecl *D, CXXDtorType Type,
506 llvm::Value *This);
507
508 void PushCXXTemporary(const CXXTemporary *Temporary, llvm::Value *Ptr);
509 void PopCXXTemporary();
486
487 llvm::Value *EmitCXXNewExpr(const CXXNewExpr *E);
488
489 //===--------------------------------------------------------------------===//
490 // Declaration Emission
491 //===--------------------------------------------------------------------===//
492
493 void EmitDecl(const Decl &D);

--- 407 unchanged lines hidden ---
510
511 llvm::Value *EmitCXXNewExpr(const CXXNewExpr *E);
512
513 //===--------------------------------------------------------------------===//
514 // Declaration Emission
515 //===--------------------------------------------------------------------===//
516
517 void EmitDecl(const Decl &D);

--- 407 unchanged lines hidden ---