aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen')
-rw-r--r--lib/CodeGen/BackendUtil.cpp3
-rw-r--r--lib/CodeGen/CodeGenAction.cpp4
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/CodeGen/BackendUtil.cpp b/lib/CodeGen/BackendUtil.cpp
index 5ef72d486e..54150e426b 100644
--- a/lib/CodeGen/BackendUtil.cpp
+++ b/lib/CodeGen/BackendUtil.cpp
@@ -373,7 +373,10 @@ void EmitAssemblyHelper::EmitAssembly(BackendAction Action, raw_ostream *OS) {
break;
case Backend_EmitBC:
+ case Backend_EmitBCVerify:
getPerModulePasses()->add(createBitcodeWriterPass(*OS));
+ if (Action == Backend_EmitBCVerify)
+ getPerModulePasses()->add(createBitcodeVerifierPass(*OS));
break;
case Backend_EmitLL:
diff --git a/lib/CodeGen/CodeGenAction.cpp b/lib/CodeGen/CodeGenAction.cpp
index 2ddcc3e5dc..3d21ef9af3 100644
--- a/lib/CodeGen/CodeGenAction.cpp
+++ b/lib/CodeGen/CodeGenAction.cpp
@@ -301,6 +301,7 @@ static raw_ostream *GetOutputStream(CompilerInstance &CI,
case Backend_EmitLL:
return CI.createDefaultOutputFile(false, InFile, "ll");
case Backend_EmitBC:
+ case Backend_EmitBCVerify:
return CI.createDefaultOutputFile(true, InFile, "bc");
case Backend_EmitNothing:
return 0;
@@ -412,6 +413,9 @@ EmitAssemblyAction::EmitAssemblyAction(llvm::LLVMContext *_VMContext)
EmitBCAction::EmitBCAction(llvm::LLVMContext *_VMContext)
: CodeGenAction(Backend_EmitBC, _VMContext) {}
+EmitBCVerifyAction::EmitBCVerifyAction(llvm::LLVMContext *_VMContext)
+ : CodeGenAction(Backend_EmitBCVerify, _VMContext) {}
+
EmitLLVMAction::EmitLLVMAction(llvm::LLVMContext *_VMContext)
: CodeGenAction(Backend_EmitLL, _VMContext) {}