diff --git a/divine/ra/llvmrefine.hpp b/divine/ra/llvmrefine.hpp index 0b3d390200a2b6b3ca920713c301a0a80d1662fe..cae8e8b5754f51511a7f7da5e72e8b0d3b16ec99 100644 --- a/divine/ra/llvmrefine.hpp +++ b/divine/ra/llvmrefine.hpp @@ -27,7 +27,6 @@ #include <divine/mc/job.hpp> #include <divine/ra/base.hpp> -#include <divine/ra/util.hpp> DIVINE_RELAX_WARNINGS #include <llvm/IR/Module.h> diff --git a/divine/ra/test.hpp b/divine/ra/test.hpp index 82a6aa9d2e59a331bf3896245f1c710225fc46be..9b1b5bfbb0319afdd8a2b46ee39662a594b09c86 100644 --- a/divine/ra/test.hpp +++ b/divine/ra/test.hpp @@ -28,7 +28,6 @@ #include <divine/mc/job.hpp> #include <divine/ra/base.hpp> -#include <divine/ra/util.hpp> DIVINE_RELAX_WARNINGS #include <llvm/IR/Module.h> diff --git a/divine/ra/util.hpp b/divine/ra/util.hpp deleted file mode 100644 index 502362b8859fb05620c15d03560653108f133f93..0000000000000000000000000000000000000000 --- a/divine/ra/util.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - * (c) 2020 Lukáš Korenčik <xkorenc1@fi.muni.cz> - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#pragma once - -#include <memory> - -#include <bricks/brick-llvm> - -DIVINE_RELAX_WARNINGS -#include <llvm/IR/LLVMContext.h> -#include <llvm/IR/Module.h> -DIVINE_UNRELAX_WARNINGS - - -namespace divine::ra::util { - - std::unique_ptr< llvm::Module > load_bc( const std::string &str, - llvm::LLVMContext *ctx ) - { - using namespace llvm::object; - - std::unique_ptr< llvm::MemoryBuffer > input = - std::move( llvm::MemoryBuffer::getFile( str ).get() ); - auto bc_input = IRObjectFile::findBitcodeInMemBuffer( input->getMemBufferRef() ); - - if ( !bc_input ) - UNREACHABLE( "Could not load bitcode file" ); - auto module = llvm::parseBitcodeFile( bc_input.get(), *ctx ); - - if ( !module ) - UNREACHABLE( "Error parsing input model; probably not a valid bc file." ); - - return std::move( module.get() ); - } - -} // namespace divine::ra::util