[llvm] r368122 - Reverts commit r368117, r368115 and r368112

Petr Hosek via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 6 22:15:34 PDT 2019


Author: phosek
Date: Tue Aug  6 22:15:34 2019
New Revision: 368122

URL: http://llvm.org/viewvc/llvm-project?rev=368122&view=rev
Log:
Reverts commit r368117, r368115 and r368112

This reverts commits:

  "Added Delta IR Reduction Tool"
  "[Bugpoint redesign] Added Pass to Remove Global Variables"
  "Added Tool as Dependency to tests & fixed warnings"

Reduce/remove-funcs.ll is failing on bots.

Removed:
    llvm/trunk/docs/BugpointRedesign.md
    llvm/trunk/test/Reduce/
    llvm/trunk/tools/llvm-reduce/
Modified:
    llvm/trunk/test/CMakeLists.txt
    llvm/trunk/tools/LLVMBuild.txt

Removed: llvm/trunk/docs/BugpointRedesign.md
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/BugpointRedesign.md?rev=368121&view=auto
==============================================================================
--- llvm/trunk/docs/BugpointRedesign.md (original)
+++ llvm/trunk/docs/BugpointRedesign.md (removed)
@@ -1,106 +0,0 @@
-# Bugpoint Redesign
-Author: Diego Treviño (diegotf at google.com)
-
-Date: 2019-06-05
-
-Status: Draft
-
-
-## Introduction
-As use of bugpoint has grown several areas of improvement have been identified
-through years of use: confusing to use, slow, it doesn’t always produce high
-quality test cases, etc. This document proposes a new approach with a narrower
-focus: minimization of IR test cases.
-
-
-## Proposed New Design
-
-
-### Narrow focus: test-case reduction
-The main focus will be a code reduction strategy to obtain much smaller test
-cases that still have the same property as the original one. This will be done
-via classic delta debugging and by adding some IR-specific reductions (e.g.
-replacing globals, removing unused instructions, etc), similar to what
-already exists, but with more in-depth minimization.
-
-
-Granted, if the community differs on this proposal, the legacy code could still
-be present in the tool, but with the caveat of still being documented and
-designed towards delta reduction.
-
-
-### Command-Line Options
-We are proposing to reduce the plethora of bugpoint’s options to just two: an
-interesting-ness test and the arguments for said test, similar to other delta
-reduction tools such as CReduce, Delta, and Lithium; the tool should feel less
- cluttered, and there should also be no uncertainty about how to operate it.
-
-
-The interesting-ness test that’s going to be run to reduce the code is given
-by name:
-        `--test=<test_name>`
-If a `--test`  option is not given, the program exits; this option is similar
-to bugpoint’s current `-compile-custom` option, which lets the user run a
-custom script.
-
-
-The interesting-ness test would be defined as a script that returns 0 when the
-IR achieves a user-defined behaviour (e.g. failure to compile on clang) and a
-nonzero value when otherwise. Leaving the user the freedom to determine what is
-and isn’t interesting to the tool, and thus, streamlining the process of
-reducing a test-case.
-
-
-If the test accepts any arguments (excluding the input ll/bc file), they are
-given via the following flag:
-        `--test_args=<test_arguments>`
-If unspecified, the test is run as given. It’s worth noting that the input file
-would be passed as a parameter to the test, similar how `-compile-custom`
-currently operates.
-
-
-### Implementation
-The tool would behave similar to CReduce’s functionality in that it would have a
-list of passes that try to minimize the given test-case. We should be able to
-modularize the tool’s behavior, as well as making it easier to maintain and
-expand.
-
-
-The first version of this redesign would try to:
-
-
-* Split the code into chunks and discard those that fail the given test
-* Discard functions, instructions and metadata that don’t influence the
-  interesting-ness test
-* Remove unused parameters from functions
-* Eliminate unvisited conditional paths
-* Rename variables to more regular ones (such as “a”, “b”, “c”, etc.)
-
-
-Once these passes are implemented, more meaningful reductions (such as type
-reduction) would be added to the tool, to even further reduce IR.
-
-
-## Background on historical bugpoint issues
-
-
-### Root Cause Analysis
-Presently, bugpoint takes a long time to find the source problem in a given IR
-file, mainly due to the fact that it tries to debug the input by running
-various strategies to classify the bug, which in turn run multiple optimizer
-and compilation passes over the input, taking up a lot of time. Furthermore,
-when the IR crashes, it tries to reduce it by performing some sub-optimal
-passes (e.g. a lot of unreachable blocks), and sometimes even fails to minimize
-at all.
-
-
-### "Quirky" Interface
-Bugpoint’s current interface overwhelms and confuses the user, the help screen
-alone ends up confusing rather providing guidance, as seen below:
-
-![Bugpoint's help option showcase](https://lh6.googleusercontent.com/sbpaSVHzpVVZKKAgHL9gvfzTWdgh3ju0KiDYql6WmWZfDYrdauOJMcuo9PP_V1dq8JQfMHOSKTv3lJcSpVytUyU8r5tJ2KTlGB0b2ve7jsZ3nVX8K8ItAbsA0JWkFKw67VJnq99m)
-
-And, not only are there numerous features and options, but some of them also
-work in unexpected ways and most of the time the user ends up using a custom
-script. Pruning and simplifying the interface will be worth considering in
-order to make the tool more useful in the general case and easier to maintain.

Modified: llvm/trunk/test/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CMakeLists.txt?rev=368122&r1=368121&r2=368122&view=diff
==============================================================================
--- llvm/trunk/test/CMakeLists.txt (original)
+++ llvm/trunk/test/CMakeLists.txt Tue Aug  6 22:15:34 2019
@@ -89,7 +89,6 @@ set(LLVM_TEST_DEPENDS
           llvm-rc
           llvm-readobj
           llvm-readelf
-          llvm-reduce
           llvm-rtdyld
           llvm-size
           llvm-split

Modified: llvm/trunk/tools/LLVMBuild.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/LLVMBuild.txt?rev=368122&r1=368121&r2=368122&view=diff
==============================================================================
--- llvm/trunk/tools/LLVMBuild.txt (original)
+++ llvm/trunk/tools/LLVMBuild.txt Tue Aug  6 22:15:34 2019
@@ -48,7 +48,6 @@ subdirectories =
  llvm-pdbutil
  llvm-profdata
  llvm-rc
- llvm-reduce
  llvm-rtdyld
  llvm-size
  llvm-split




More information about the llvm-commits mailing list