|
@@ -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) {}
|