mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Add a pointer to the owning LLVMContext to Module. This requires threading LLVMContext through a lot
of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools. Patches for Clang and LLVM-GCC to follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74614 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -30,6 +30,7 @@ class Function;
|
||||
class BasicBlock;
|
||||
class AbstractInterpreter;
|
||||
class Instruction;
|
||||
class LLVMContext;
|
||||
|
||||
class DebugCrashes;
|
||||
|
||||
@@ -42,6 +43,7 @@ extern bool DisableSimplifyCFG;
|
||||
extern bool BugpointIsInterrupted;
|
||||
|
||||
class BugDriver {
|
||||
LLVMContext* Context;
|
||||
const std::string ToolName; // Name of bugpoint
|
||||
std::string ReferenceOutputFile; // Name of `good' output file
|
||||
Module *Program; // The raw program, linked together
|
||||
@@ -60,10 +62,12 @@ class BugDriver {
|
||||
|
||||
public:
|
||||
BugDriver(const char *toolname, bool as_child, bool find_bugs,
|
||||
unsigned timeout, unsigned memlimit);
|
||||
unsigned timeout, unsigned memlimit, LLVMContext* ctxt);
|
||||
|
||||
const std::string &getToolName() const { return ToolName; }
|
||||
|
||||
LLVMContext* getContext() { return Context; }
|
||||
|
||||
// Set up methods... these methods are used to copy information about the
|
||||
// command line arguments into instance variables of BugDriver.
|
||||
//
|
||||
@@ -290,7 +294,7 @@ private:
|
||||
/// ParseInputFile - Given a bitcode or assembly input filename, parse and
|
||||
/// return it, or return null if not possible.
|
||||
///
|
||||
Module *ParseInputFile(const std::string &InputFilename);
|
||||
Module *ParseInputFile(const std::string &InputFilename, LLVMContext* ctxt);
|
||||
|
||||
|
||||
/// getPassesString - Turn a list of passes into a string which indicates the
|
||||
|
Reference in New Issue
Block a user