[Lldb-commits] [lldb] 2637769 - [lldb] Remove LanguageRuntime::GetOverrideExprOptions
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Mon Feb 3 00:21:37 PST 2020
BTW, I am not aware of anyone actively developing/testing/using the
renderscript support in lldb, and I wouldn't be surprised if it has
actually bitrotted. I think this is also one of the things we could
consider removing if it turns out it's standing in the way of making
progress elsewhere.
pl
On Sat, 1 Feb 2020 at 07:07, Alex Langford via lldb-commits <
lldb-commits at lists.llvm.org> wrote:
>
> Author: Alex Langford
> Date: 2020-01-31T22:05:23-08:00
> New Revision: 2637769b9f38010082276b7b839a17b102d1ac93
>
> URL:
> https://github.com/llvm/llvm-project/commit/2637769b9f38010082276b7b839a17b102d1ac93
> DIFF:
> https://github.com/llvm/llvm-project/commit/2637769b9f38010082276b7b839a17b102d1ac93.diff
>
> LOG: [lldb] Remove LanguageRuntime::GetOverrideExprOptions
>
> LanguageRuntime::GetOverrideExprOptions is specific to clang and was
> only overridden in RenderScriptRuntime. LanguageRuntime in shouldn't
> have any knowledge of clang, so remove it from LanguageRuntime and leave
> it only in RenderScriptRuntime.
>
> Added:
>
>
> Modified:
> lldb/include/lldb/Target/LanguageRuntime.h
> lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
> lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
>
> lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h
>
> Removed:
>
>
>
>
> ################################################################################
> diff --git a/lldb/include/lldb/Target/LanguageRuntime.h
> b/lldb/include/lldb/Target/LanguageRuntime.h
> index 73c8dfa3874d..7af6cd2e91ff 100644
> --- a/lldb/include/lldb/Target/LanguageRuntime.h
> +++ b/lldb/include/lldb/Target/LanguageRuntime.h
> @@ -21,8 +21,6 @@
> #include "lldb/lldb-private.h"
> #include "lldb/lldb-public.h"
>
> -#include "clang/Basic/TargetOptions.h"
> -
> namespace lldb_private {
>
> class ExceptionSearchFilter : public SearchFilter {
> @@ -162,13 +160,6 @@ class LanguageRuntime : public PluginInterface {
>
> virtual void ModulesDidLoad(const ModuleList &module_list) {}
>
> - // Called by the Clang expression evaluation engine to allow runtimes to
> - // alter the set of target options provided to the compiler. If the
> options
> - // prototype is modified, runtimes must return true, false otherwise.
> - virtual bool GetOverrideExprOptions(clang::TargetOptions &prototype) {
> - return false;
> - }
> -
> // Called by ClangExpressionParser::PrepareForExecution to query for any
> // custom LLVM IR passes that need to be run before an expression is
> // assembled and run.
>
> diff --git a/lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
> b/lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
> index 3bb120a48e90..909e92ace8d4 100644
> --- a/lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
> +++ b/lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
> @@ -41,6 +41,7 @@ add_lldb_library(lldbPluginExpressionParserClang PLUGIN
> lldbPluginCPlusPlusLanguage
> lldbPluginCPPRuntime
> lldbPluginObjCRuntime
> + lldbPluginRenderScriptRuntime
> lldbPluginTypeSystemClang
> CLANG_LIBS
> clangAST
>
> diff --git
> a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
> b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
> index 1516d5b0277b..3faf6f238b23 100644
> --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
> +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
> @@ -91,6 +91,7 @@
> #include "lldb/Utility/StringList.h"
>
> #include "Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h"
> +#include
> "Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h"
>
> #include <cctype>
> #include <memory>
> @@ -392,9 +393,13 @@ ClangExpressionParser::ClangExpressionParser(
> // target. In this case, a specialized language runtime is available
> and we
> // can query it for extra options. For 99% of use cases, this will not
> be
> // needed and should be provided when basic platform detection is not
> enough.
> - if (lang_rt)
> + // FIXME: Generalize this. Only RenderScriptRuntime currently supports
> this
> + // currently. Hardcoding this isn't ideal but it's better than
> LanguageRuntime
> + // having knowledge of clang::TargetOpts.
> + if (auto *renderscript_rt =
> + llvm::dyn_cast_or_null<RenderScriptRuntime>(lang_rt))
> overridden_target_opts =
> - lang_rt->GetOverrideExprOptions(m_compiler->getTargetOpts());
> +
> renderscript_rt->GetOverrideExprOptions(m_compiler->getTargetOpts());
>
> if (overridden_target_opts)
> if (log && log->GetVerbose()) {
>
> diff --git
> a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h
> b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h
> index c3740ba55a11..2fec7dcf4f6e 100644
> ---
> a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h
> +++
> b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h
> @@ -24,6 +24,10 @@
>
> #include "Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h"
>
> +namespace clang {
> +class TargetOptions;
> +};
> +
> namespace lldb_private {
> namespace lldb_renderscript {
>
> @@ -402,6 +406,8 @@ class RenderScriptRuntime : public
> lldb_private::CPPLanguageRuntime {
> return false;
> }
>
> + bool GetOverrideExprOptions(clang::TargetOptions &prototype);
> +
> // PluginInterface protocol
> lldb_private::ConstString GetPluginName() override;
>
> @@ -577,8 +583,6 @@ class RenderScriptRuntime : public
> lldb_private::CPPLanguageRuntime {
> // any previous stored allocation which has the same address.
> AllocationDetails *CreateAllocation(lldb::addr_t address);
>
> - bool GetOverrideExprOptions(clang::TargetOptions &prototype) override;
> -
> bool GetIRPasses(LLVMUserExpression::IRPasses &passes) override;
> };
>
>
>
>
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200203/f2973553/attachment.html>
More information about the lldb-commits
mailing list