aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CodeGenAction.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-02-19 21:39:31 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-02-19 21:39:31 +0000
commit96b1d4b4eb6b18dd6df7a2c0833332b45840580f (patch)
tree5c389038723168572e7e35c9f10d3460ad7354ca /lib/CodeGen/CodeGenAction.cpp
parentb20f5c6f79968ce57ebb6222f0d2e7f51908d1be (diff)
Revert 125820 and 125819 to fix PR9266.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126050 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CodeGenAction.cpp')
-rw-r--r--lib/CodeGen/CodeGenAction.cpp40
1 files changed, 12 insertions, 28 deletions
diff --git a/lib/CodeGen/CodeGenAction.cpp b/lib/CodeGen/CodeGenAction.cpp
index a24bbc480c..69ac995a46 100644
--- a/lib/CodeGen/CodeGenAction.cpp
+++ b/lib/CodeGen/CodeGenAction.cpp
@@ -224,15 +224,9 @@ void BackendConsumer::InlineAsmDiagHandler2(const llvm::SMDiagnostic &D,
//
-CodeGenAction::CodeGenAction(unsigned _Act, LLVMContext *_VMContext)
- : Act(_Act), VMContext(_VMContext ? _VMContext : new LLVMContext),
- OwnsVMContext(!_VMContext) {}
-
-CodeGenAction::~CodeGenAction() {
- TheModule.reset();
- if (OwnsVMContext)
- delete VMContext;
-}
+CodeGenAction::CodeGenAction(unsigned _Act) : Act(_Act) {}
+
+CodeGenAction::~CodeGenAction() {}
bool CodeGenAction::hasIRSupport() const { return true; }
@@ -249,11 +243,6 @@ llvm::Module *CodeGenAction::takeModule() {
return TheModule.take();
}
-llvm::LLVMContext *CodeGenAction::takeLLVMContext() {
- OwnsVMContext = false;
- return VMContext;
-}
-
static raw_ostream *GetOutputStream(CompilerInstance &CI,
llvm::StringRef InFile,
BackendAction Action) {
@@ -286,7 +275,7 @@ ASTConsumer *CodeGenAction::CreateASTConsumer(CompilerInstance &CI,
new BackendConsumer(BA, CI.getDiagnostics(),
CI.getCodeGenOpts(), CI.getTargetOpts(),
CI.getFrontendOpts().ShowTimers, InFile, OS.take(),
- *VMContext);
+ CI.getLLVMContext());
return BEConsumer;
}
@@ -312,7 +301,7 @@ void CodeGenAction::ExecuteAction() {
getCurrentFile().c_str());
llvm::SMDiagnostic Err;
- TheModule.reset(ParseIR(MainFileCopy, Err, *VMContext));
+ TheModule.reset(ParseIR(MainFileCopy, Err, CI.getLLVMContext()));
if (!TheModule) {
// Translate from the diagnostic info to the SourceManager location.
SourceLocation Loc = SM.getLocation(
@@ -343,20 +332,15 @@ void CodeGenAction::ExecuteAction() {
//
-EmitAssemblyAction::EmitAssemblyAction(llvm::LLVMContext *_VMContext)
- : CodeGenAction(Backend_EmitAssembly, _VMContext) {}
+EmitAssemblyAction::EmitAssemblyAction()
+ : CodeGenAction(Backend_EmitAssembly) {}
-EmitBCAction::EmitBCAction(llvm::LLVMContext *_VMContext)
- : CodeGenAction(Backend_EmitBC, _VMContext) {}
+EmitBCAction::EmitBCAction() : CodeGenAction(Backend_EmitBC) {}
-EmitLLVMAction::EmitLLVMAction(llvm::LLVMContext *_VMContext)
- : CodeGenAction(Backend_EmitLL, _VMContext) {}
+EmitLLVMAction::EmitLLVMAction() : CodeGenAction(Backend_EmitLL) {}
-EmitLLVMOnlyAction::EmitLLVMOnlyAction(llvm::LLVMContext *_VMContext)
- : CodeGenAction(Backend_EmitNothing, _VMContext) {}
+EmitLLVMOnlyAction::EmitLLVMOnlyAction() : CodeGenAction(Backend_EmitNothing) {}
-EmitCodeGenOnlyAction::EmitCodeGenOnlyAction(llvm::LLVMContext *_VMContext)
- : CodeGenAction(Backend_EmitMCNull, _VMContext) {}
+EmitCodeGenOnlyAction::EmitCodeGenOnlyAction() : CodeGenAction(Backend_EmitMCNull) {}
-EmitObjAction::EmitObjAction(llvm::LLVMContext *_VMContext)
- : CodeGenAction(Backend_EmitObj, _VMContext) {}
+EmitObjAction::EmitObjAction() : CodeGenAction(Backend_EmitObj) {}