projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Taints the non-acquire RMW's store address with the load part
[oota-llvm.git]
/
examples
/
BrainF
/
BrainFDriver.cpp
diff --git
a/examples/BrainF/BrainFDriver.cpp
b/examples/BrainF/BrainFDriver.cpp
index be59c4fc8cbc2b227a6c9318ed3c349ae2dfc030..1a38c67b0d4a0fc23b46dea5188a8266268435a8 100644
(file)
--- a/
examples/BrainF/BrainFDriver.cpp
+++ b/
examples/BrainF/BrainFDriver.cpp
@@
-26,11
+26,12
@@
#include "BrainF.h"
#include "llvm/Bitcode/ReaderWriter.h"
#include "BrainF.h"
#include "llvm/Bitcode/ReaderWriter.h"
+#include "llvm/ExecutionEngine/ExecutionEngine.h"
#include "llvm/ExecutionEngine/GenericValue.h"
#include "llvm/ExecutionEngine/GenericValue.h"
-#include "llvm/ExecutionEngine/JIT.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Verifier.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Verifier.h"
#include "llvm/Support/CommandLine.h"
+#include "llvm/Support/FileSystem.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/TargetSelect.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/TargetSelect.h"
#include "llvm/Support/raw_ostream.h"
@@
-63,9
+64,9
@@
void addMainFunction(Module *mod) {
IntegerType::getInt8Ty(mod->getContext()))), NULL));
{
Function::arg_iterator args = main_func->arg_begin();
IntegerType::getInt8Ty(mod->getContext()))), NULL));
{
Function::arg_iterator args = main_func->arg_begin();
- Value *arg_0 = args++;
+ Value *arg_0 =
&*
args++;
arg_0->setName("argc");
arg_0->setName("argc");
- Value *arg_1 = args++;
+ Value *arg_1 =
&*
args++;
arg_1->setName("argv");
}
arg_1->setName("argv");
}
@@
-106,9
+107,8
@@
int main(int argc, char **argv) {
OutputFilename = base+".bc";
}
if (OutputFilename != "-") {
OutputFilename = base+".bc";
}
if (OutputFilename != "-") {
- std::string ErrInfo;
- out = new raw_fd_ostream(OutputFilename.c_str(), ErrInfo,
- sys::fs::F_Binary);
+ std::error_code EC;
+ out = new raw_fd_ostream(OutputFilename, EC, sys::fs::F_None);
}
}
}
}
@@
-124,13
+124,13
@@
int main(int argc, char **argv) {
//Read the BrainF program
BrainF bf;
//Read the BrainF program
BrainF bf;
-
Module *mod = bf.parse(in, 65536, cf, Context); //
64 KiB
+
std::unique_ptr<Module> Mod(bf.parse(in, 65536, cf, Context)); //
64 KiB
if (in != &std::cin)
delete in;
if (in != &std::cin)
delete in;
- addMainFunction(
mod
);
+ addMainFunction(
Mod.get()
);
//Verify generated code
//Verify generated code
- if (verifyModule(*
m
od)) {
+ if (verifyModule(*
M
od)) {
errs() << "Error: module failed verification. This shouldn't happen.\n";
abort();
}
errs() << "Error: module failed verification. This shouldn't happen.\n";
abort();
}
@@
-140,18
+140,18
@@
int main(int argc, char **argv) {
InitializeNativeTarget();
outs() << "------- Running JIT -------\n";
InitializeNativeTarget();
outs() << "------- Running JIT -------\n";
- ExecutionEngine *ee = EngineBuilder(mod).create();
+ Module &M = *Mod;
+ ExecutionEngine *ee = EngineBuilder(std::move(Mod)).create();
std::vector<GenericValue> args;
std::vector<GenericValue> args;
- Function *brainf_func =
mod->
getFunction("brainf");
+ Function *brainf_func =
M.
getFunction("brainf");
GenericValue gv = ee->runFunction(brainf_func, args);
} else {
GenericValue gv = ee->runFunction(brainf_func, args);
} else {
- WriteBitcodeToFile(
mod
, *out);
+ WriteBitcodeToFile(
Mod.get()
, *out);
}
//Clean up
if (out != &outs())
delete out;
}
//Clean up
if (out != &outs())
delete out;
- delete mod;
llvm_shutdown();
llvm_shutdown();