remove some obsolete comments, use an AssertingVH.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68151 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CodeGenFunction.cpp b/lib/CodeGen/CodeGenFunction.cpp
index 68d10ff..dc00a76 100644
--- a/lib/CodeGen/CodeGenFunction.cpp
+++ b/lib/CodeGen/CodeGenFunction.cpp
@@ -133,8 +133,9 @@
EmitFunctionEpilog(*CurFnInfo, ReturnValue);
// Remove the AllocaInsertPt instruction, which is just a convenience for us.
- AllocaInsertPt->eraseFromParent();
+ llvm::Instruction *Ptr = AllocaInsertPt;
AllocaInsertPt = 0;
+ Ptr->eraseFromParent();
}
void CodeGenFunction::StartFunction(const Decl *D, QualType RetTy,
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h
index f850cfd..9dbbb25 100644
--- a/lib/CodeGen/CodeGenFunction.h
+++ b/lib/CodeGen/CodeGenFunction.h
@@ -15,16 +15,13 @@
#define CLANG_CODEGEN_CODEGENFUNCTION_H
#include "clang/AST/Type.h"
-#include "llvm/ADT/DenseMap.h"
-#include "llvm/ADT/SmallVector.h"
-#include "clang/Basic/TargetInfo.h"
-#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprObjC.h"
-
-#include <vector>
+#include "clang/Basic/TargetInfo.h"
+#include "llvm/ADT/DenseMap.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/Support/ValueHandle.h"
#include <map>
-
#include "CGBlocks.h"
#include "CGBuilder.h"
#include "CGCall.h"
@@ -87,7 +84,7 @@
/// AllocaInsertPoint - This is an instruction in the entry block before which
/// we prefer to insert allocas.
- llvm::Instruction *AllocaInsertPt;
+ llvm::AssertingVH<llvm::Instruction> AllocaInsertPt;
const llvm::Type *LLVMIntTy;
uint32_t LLVMPointerWidth;
diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp
index 907ade5..3de8156 100644
--- a/lib/CodeGen/CodeGenModule.cpp
+++ b/lib/CodeGen/CodeGenModule.cpp
@@ -118,17 +118,6 @@
/// const char* containing the mangled name. Otherwise, returns
/// the unmangled name.
///
-/// FIXME: Returning an IdentifierInfo* here is a total hack. We
-/// really need some kind of string abstraction that either stores a
-/// mangled name or stores an IdentifierInfo*. This will require
-/// changes to the GlobalDeclMap, too. (I disagree, I think what we
-/// actually need is for Sema to provide some notion of which Decls
-/// refer to the same semantic decl. We shouldn't need to mangle the
-/// names and see what comes out the same to figure this out. - DWD)
-///
-/// FIXME: Performance here is going to be terribly until we start
-/// caching mangled names. However, we should fix the problem above
-/// first.
const char *CodeGenModule::getMangledName(const NamedDecl *ND) {
// In C, functions with no attributes never need to be mangled. Fastpath them.
if (!getLangOptions().CPlusPlus && !ND->hasAttrs()) {