[polly] r305633 - Add information about bisecting

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Sat Jun 17 01:45:26 PDT 2017


Very helpful suggestions. I added your links to the documentation. Feel
free to add further content.

Merci,
Tobi

On Sat, Jun 17, 2017, at 10:09 AM, Davide Italiano via llvm-commits
wrote:
> On Sat, Jun 17, 2017 at 1:04 AM, Davide Italiano <davide at freebsd.org>
> wrote:
> > On Sat, Jun 17, 2017 at 12:45 AM, Tobias Grosser via llvm-commits
> > <llvm-commits at lists.llvm.org> wrote:
> >> Author: grosser
> >> Date: Sat Jun 17 02:45:44 2017
> >> New Revision: 305633
> >>
> >> URL: http://llvm.org/viewvc/llvm-project?rev=305633&view=rev
> >> Log:
> >> Add information about bisecting
> >>
> >> Modified:
> >>     polly/trunk/docs/TipsAndTricks.rst
> >>
> >> Modified: polly/trunk/docs/TipsAndTricks.rst
> >> URL: http://llvm.org/viewvc/llvm-project/polly/trunk/docs/TipsAndTricks.rst?rev=305633&r1=305632&r2=305633&view=diff
> >> ==============================================================================
> >> --- polly/trunk/docs/TipsAndTricks.rst (original)
> >> +++ polly/trunk/docs/TipsAndTricks.rst Sat Jun 17 02:45:44 2017
> >> @@ -37,3 +37,16 @@ Understanding which pass makes a particu
> >>      - ``$ opt -O3 -polly -debug-pass=Arguments`` to get all passes that are run by default. ``-debug-pass=Arguments`` will list all passes that have run.
> >>      - Bisect down to the pass that changes it.
> >>
> >> +
> >> +Debugging regressions introduced at some unknown earlier point
> >> +--------------------------------------------------------------
> >> +
> >> +In case of a regression in performance or correctness (e.g., an earlier version
> >> +of Polly behaved as expected and a later version does not), bisecting over the
> >> +version history is the standard approach to identify the commit that introduced
> >> +the regression.
> >> +
> >> +LLVM has a single repository that contains all projects. It can be cloned at:
> >> +`<https://github.com/llvm-project/llvm-project-20170507>`_. How to bisect on a
> >> +git repository is explained here
> >> +`<https://www.metaltoad.com/blog/beginners-guide-git-bisect-process-elimination`.
> >>
> >
> > Hi Tobias,
> > the article you link describes a semi-manual procedure for bisecting.
> > I think something better can be done in case you have a test of what
> > fails using `git bisect run`. I created a gist because I kept
> > forgetting how to do it :) (in particular the return code being `125`
> > in case of "dubious" revisions).
> > https://gist.github.com/dcci/891cd98d80b1b95352a407d80914f7cf
> >
> > I also found this useful when reducing regressions:
> > https://gcc.gnu.org/wiki/A_guide_to_testcase_reduction
> >
> > --
> > Davide
> >
> > "There are no solved problems; there are only problems that are more
> > or less solved" -- Henri Poincare
> 
> There's also another article from the same website:
> https://www.metaltoad.com/blog/mechanizing-git-bisect-bug-hunting-lazy
> 
> -- 
> Davide
> 
> "There are no solved problems; there are only problems that are more
> or less solved" -- Henri Poincare
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list