reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | //===-- RenderScriptExpressionOpts.h ----------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLDB_RENDERSCRIPT_EXPROPTS_H #define LLDB_RENDERSCRIPT_EXPROPTS_H #include "llvm/IR/Module.h" #include "llvm/Support/TargetRegistry.h" #include "llvm/Target/TargetMachine.h" #include "llvm/Target/TargetOptions.h" #include "lldb/Target/LanguageRuntime.h" #include "lldb/Target/Process.h" #include "lldb/lldb-private.h" #include "RenderScriptRuntime.h" #include "RenderScriptx86ABIFixups.h" // RenderScriptRuntimeModulePass is a simple llvm::ModulesPass that is used // during expression evaluation to apply RenderScript-specific fixes for // expression evaluation. In particular this is used to make expression IR // conformant with the ABI generated by the slang frontend. This ModulePass is // executed in ClangExpressionParser::PrepareForExecution whenever an // expression's DWARF language is eLanguageTypeExtRenderscript class RenderScriptRuntimeModulePass : public llvm::ModulePass { public: static char ID; RenderScriptRuntimeModulePass(const lldb_private::Process *process) : ModulePass(ID), m_process_ptr(process) {} bool runOnModule(llvm::Module &module) override; private: const lldb_private::Process *m_process_ptr; }; namespace lldb_private { namespace lldb_renderscript { struct RSIRPasses : public lldb_private::LLVMUserExpression::IRPasses { RSIRPasses(lldb_private::Process *process); ~RSIRPasses(); }; } // namespace lldb_renderscript } // namespace lldb_private #endif |