[PATCH] D151465: [Dexter] Remove builder from Dexter

Stephen Tozer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 25 09:39:06 PDT 2023


StephenTozer created this revision.
StephenTozer added reviewers: jmorse, Orlando, CarlosAlbertoEnciso.
StephenTozer added a project: debug-info.
Herald added a subscriber: ormris.
Herald added a project: All.
StephenTozer requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

See "discussion": https://discourse.llvm.org/t/rfc-dexter-feature-removals/60462

With Dexter's inclusion in LLVM, test discovery and building is no longer required and is an active maintenance burden; this patch removes the builder and all associated features from Dexter. This does also mean removing the clang-opt-bisect feature; this is unfortunate collateral damage, as that tool does add functionality that is not otherwise available from a combination of Dexter and existing LLVM tools, but to my knowledge this tool has not seen much use in recent years and nobody yet has expressed a use-case for it. If it is in use, then it could either be reimplemented to take a build script as an argument (as with tools such as `git-bisect` and `llvm-reduce`), or implemented as a separate program with general support for "repeatedly run clang with opt-bisect-limit and run a script at each bisection" with a Dexter option.

For the most part this patch deletes builder-related folders completely, and removes other builder-related code from the rest of Dexter. No further functional changes are expected to appear in this patch. Tests have been updated to directly invoke clang (either with `%clang` or with `%dexter_regression_test_build`, which substitutes to `clang++ -O0 -glldb` or `clang-cl /Zi /Od` depending on platform) to build a temporary executable file and then run Dexter on that file.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D151465

Files:
  cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/asan.c
  cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/dbg-arg.c
  cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/global-constant.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/hello.c
  cross-project-tests/debuginfo-tests/dexter-tests/inline-line-gap.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/memvars/bitcast.c
  cross-project-tests/debuginfo-tests/dexter-tests/memvars/const-branch.c
  cross-project-tests/debuginfo-tests/dexter-tests/memvars/ctrl-flow.c
  cross-project-tests/debuginfo-tests/dexter-tests/memvars/implicit-ptr.c
  cross-project-tests/debuginfo-tests/dexter-tests/memvars/inline-escaping-function.c
  cross-project-tests/debuginfo-tests/dexter-tests/memvars/inlining-dse.c
  cross-project-tests/debuginfo-tests/dexter-tests/memvars/inlining.c
  cross-project-tests/debuginfo-tests/dexter-tests/memvars/loop.c
  cross-project-tests/debuginfo-tests/dexter-tests/memvars/merged-store.c
  cross-project-tests/debuginfo-tests/dexter-tests/memvars/ptr-to.c
  cross-project-tests/debuginfo-tests/dexter-tests/memvars/struct-dse.c
  cross-project-tests/debuginfo-tests/dexter-tests/memvars/unused-merged-value.c
  cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/nrvo.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/optnone-simple-functions.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/optnone-struct-and-methods.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/optnone-vectors-and-functions.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/realigned-frame.cpp
  cross-project-tests/debuginfo-tests/dexter-tests/stack-var.c
  cross-project-tests/debuginfo-tests/dexter-tests/vla.c
  cross-project-tests/debuginfo-tests/dexter/README.md
  cross-project-tests/debuginfo-tests/dexter/dex/builder/Builder.py
  cross-project-tests/debuginfo-tests/dexter/dex/builder/__init__.py
  cross-project-tests/debuginfo-tests/dexter/dex/builder/scripts/posix/clang-c.sh
  cross-project-tests/debuginfo-tests/dexter/dex/builder/scripts/posix/clang.sh
  cross-project-tests/debuginfo-tests/dexter/dex/builder/scripts/posix/gcc.sh
  cross-project-tests/debuginfo-tests/dexter/dex/builder/scripts/windows/clang-cl_vs2015.bat
  cross-project-tests/debuginfo-tests/dexter/dex/builder/scripts/windows/clang.bat
  cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexDeclareAddress.py
  cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexDeclareFile.py
  cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexLabel.py
  cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py
  cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/DefaultController.py
  cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py
  cross-project-tests/debuginfo-tests/dexter/dex/dextIR/DextIR.py
  cross-project-tests/debuginfo-tests/dexter/dex/dextIR/__init__.py
  cross-project-tests/debuginfo-tests/dexter/dex/tools/Main.py
  cross-project-tests/debuginfo-tests/dexter/dex/tools/TestToolBase.py
  cross-project-tests/debuginfo-tests/dexter/dex/tools/clang_opt_bisect/__init__.py
  cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
  cross-project-tests/debuginfo-tests/dexter/dex/utils/windows/PrettyOutput.py
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/precompiled_binary/commands.dex
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/windows_noncanonical_path/test.dex
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/clang-opt-bisect/clang-opt-bisect-results.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/clang-opt-bisect/clang-opt-bisect.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/help/help.test
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/source-root-dir.cpp
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
  cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
  cross-project-tests/lit.cfg.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D151465.525664.patch
Type: text/x-patch
Size: 112020 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230525/fecf15ef/attachment-0001.bin>


More information about the llvm-commits mailing list