forked from OSchip/llvm-project
parent
c1c94bc2ca
commit
c316357fa6
|
@ -16,9 +16,6 @@
|
|||
#include <map>
|
||||
#include <vector>
|
||||
|
||||
// Other libraries and framework includes
|
||||
#include "llvm/IR/LegacyPassManager.h"
|
||||
|
||||
// Project includes
|
||||
#include "lldb/Expression/UserExpression.h"
|
||||
|
||||
|
@ -37,18 +34,7 @@ namespace lldb_private
|
|||
//----------------------------------------------------------------------
|
||||
class LLVMUserExpression : public UserExpression
|
||||
{
|
||||
public:
|
||||
// The IRPasses struct is filled in by a runtime after an expression is compiled and can be used to to run
|
||||
// fixups/analysis passes as required. EarlyPasses are run on the generated module before lldb runs its own IR
|
||||
// fixups and inserts instrumentation code/pointer checks. LatePasses are run after the module has been processed by
|
||||
// llvm, before the module is assembled and run in the ThreadPlan.
|
||||
struct IRPasses
|
||||
{
|
||||
IRPasses() : EarlyPasses(nullptr), LatePasses(nullptr){};
|
||||
std::shared_ptr<llvm::legacy::PassManager> EarlyPasses;
|
||||
std::shared_ptr<llvm::legacy::PassManager> LatePasses;
|
||||
};
|
||||
|
||||
public:
|
||||
LLVMUserExpression(ExecutionContextScope &exe_scope, const char *expr, const char *expr_prefix,
|
||||
lldb::LanguageType language, ResultType desired_type,
|
||||
const EvaluateExpressionOptions &options);
|
||||
|
|
Loading…
Reference in New Issue