https://github.com/JuliaLang/julia
Revision f922a6371c6b658aa955e5096774509b12dd7579 authored by Jeff Bezanson on 07 September 2018, 03:32:38 UTC, committed by Keno Fischer on 08 September 2018, 19:47:23 UTC
In this case, the result of `iterate` has not been checked for
`nothing`, so we try to call `indexed_iterate` (for destructuring
assignment) on a Union of Nothing and the tuple returned by
`iterate`. That has two method matches, and so was excluded from
constant propagation. This commit fixes that by generalizing the
constant prop heuristic from requiring one method match to
requiring one non-Bottom method match.

This issue caused a large slowdown in DelimitedFiles, where
the inner loop consists of

```
        while idx <= slen
            val,idx = iterate(dbuff, idx)
```
1 parent 65e4c13
Raw File
Tip revision: f922a6371c6b658aa955e5096774509b12dd7579 authored by Jeff Bezanson on 07 September 2018, 03:32:38 UTC
fix #29036, poor inference of `val,i = iterate(x,i)`
Tip revision: f922a63
.mailmap
JuliaLang <julia-dev@googlegroups.com> <julia-dev@googlegroups.com>
JuliaLang <julia-dev@googlegroups.com> <julia-math@googlegroups.com>

Jeff Bezanson <jeff.bezanson@gmail.com> <jeff.bezanson@gmail.com>
Jeff Bezanson <jeff.bezanson@gmail.com> <bezanson@beagle.darwinproject.mit.edu>
Jeff Bezanson <jeff.bezanson@gmail.com> <bezanson@caspian.caspian.mit.edu>
Jeff Bezanson <jeff.bezanson@gmail.com> <bezanson@evolution.local>
Jeff Bezanson <jeff.bezanson@gmail.com> <bezanson@mathstation045.mit.edu>
Jeff Bezanson <jeff.bezanson@gmail.com> <bezanson@mathstation049.mit.edu>
Jeff Bezanson <jeff.bezanson@gmail.com> <bezanson@mathstation186.mit.edu>
Jeff Bezanson <jeff.bezanson@gmail.com> <bezanson@post.harvard.edu>
Jeff Bezanson <jeff.bezanson@gmail.com> <bezanson@scooby-doo.csail.mit.edu>
Jeff Bezanson <jeff.bezanson@gmail.com> <bezanson@shaggy.csail.mit.edu>
Jeff Bezanson <jeff.bezanson@gmail.com> <jeff@lagann.(none)>
Jeff Bezanson <jeff.bezanson@gmail.com> <julia@beowulf1.csail.mit.edu>
Jeff Bezanson <jeff.bezanson@gmail.com> <vcloud@julia02.domain.local>
Jeff Bezanson <jeff.bezanson@gmail.com> <je24857@gp42-bezanson.llan.ll.mit.edu>

Stefan Karpinski <stefan@karpinski.org> <stefan@karpinski.org>
Stefan Karpinski <stefan@karpinski.org> <stefan.karpinski@gmail.com>
Stefan Karpinski <stefan@karpinski.org> <stefan.karpinski@post.harvard.edu>

Viral B. Shah <viral@mayin.org> <viral@mayin.org>
Viral B. Shah <viral@mayin.org> <viral@beowulf1.csail.mit.edu>
Viral B. Shah <viral@mayin.org> <viral@neumann.cs.ucsb.edu>
Viral B. Shah <viral@mayin.org> <viral@ubuntu-VirtualBox.(none)>

George Xing <gxing@mit.edu> <gxing@mit.edu>
George Xing <gxing@mit.edu> <noobiecubie@gmail.com>

Stephan Boyer <boyers@mit.edu> <boyers@mit.edu>
Stephan Boyer <boyers@mit.edu> <stephan@julialang.xvm.mit.edu>
Stephan Boyer <boyers@mit.edu> <stephan@ubuntu.(none)>
Stephan Boyer <boyers@mit.edu> <stephan@ubuntu.ubuntu-domain>

Jiahao Chen <jiahao@mit.edu> Jiahao Chen (陈家豪) <jiahao@mit.edu>

Giuseppe Zingales <giuseppe.pet.zingales@gmail.com> <giuseppe.pet.zingales@gmail.com>
Giuseppe Zingales <giuseppe.pet.zingales@gmail.com> <g3@ubuntu.ubuntu-domain>

Jameson Nash <jameson@mit.edu> <jameson@mit.edu>
Jameson Nash <jameson@mit.edu> <vtjnash@comcast.net>
Jameson Nash <jameson@mit.edu> <vtjnash@gmail.com>

Alan Edelman <mit.edelman@gmail.com> <mit.edelman@gmail.com>

PlayMyCode <joe@playmycode.com> <joe@playmycode.com>
PlayMyCode <joe@playmycode.com> <hello@playmycode.com>

Corey M. Hoffstein <corey@hoffstein.com> <corey@hoffstein.com>
Corey M. Hoffstein <corey@hoffstein.com> <corey@newfoundresearch.com>

Stefan Kroboth <stefan.kroboth@gmail.com> <stefan.kroboth@gmail.com>

Tim Holy <tim.holy@gmail.com> <tim.holy@gmail.com>
Tim Holy <tim.holy@gmail.com> <holy@wustl.edu>

Patrick O'Leary <patrick.oleary@gmail.com> <patrick.oleary@gmail.com>

Ivan Mantova <horphus@gmail.com> <horphus@gmail.com>

Keno Fischer <kfischer@college.harvard.edu> <kfischer@college.harvard.edu>
Keno Fischer <kfischer@college.harvard.edu> <kfischer+github@college.harvard.edu>
Keno Fischer <kfischer@college.harvard.edu> <kenof@stanford.edu>
Keno Fischer <kfischer@college.harvard.edu> <keno@30-9-48.wireless.csail.mit.edu>

Harlan Harris <harlan@harris.name> <harlan@harris.name>
Harlan Harris <harlan@harris.name> <harlan.harris@kaplan.com>

Douglas Bates <dmbates@gmail.com> <dmbates@gmail.com>

Andreas Noack Jensen <andreasnoackjensen@gmail.com> <andreasnoackjensen@gmail.com>
Andreas Noack Jensen <andreasnoackjensen@gmail.com> <andreas@Andreass-MacBook-Pro.local>
Andreas Noack Jensen <andreasnoackjensen@gmail.com> <andreasnoack@Andreass-MacBook-Pro-2.local>

Westley Argentum Hennigh <WestleyArgentum@gmail.com> <WestleyArgentum@gmail.com>
Westley Argentum Hennigh <WestleyArgentum@gmail.com> <whennigh@forio.com>

George V. Neville-Neil <gnn@freebsd.org> <gnn@freebsd.org>
George V. Neville-Neil <gnn@freebsd.org> <gvnn3>

Alessandro Andrioni Silva <alessandroandrioni@gmail.com> <alessandroandrioni@gmail.com>
Alessandro Andrioni Silva <alessandroandrioni@gmail.com> <jakedust@gmail.com>

Toivo Henningsson <toivo.h.h@gmail.com> <toivo.h.h@gmail.com>
Toivo Henningsson <toivo.h.h@gmail.com> <toivo@control.lth.se>

Adam Savitzky <adam.savitzky@gmail.com> <adam.savitzky@gmail.com>
Adam Savitzky <adam.savitzky@gmail.com> <asavitzky@forio.com>

David Slate <dslate@speakeasy.net> <dslate@speakeasy.net>

Francois Pepin <fpepin@gmail.com> <fpepin@gmail.com>

Waldir Pimenta <waldir@email.com> <waldir@email.com>

Steven G. Johnson <stevenj@alum.mit.edu> <stevenj@mit.edu>
Steven G. Johnson <stevenj@alum.mit.edu> <stevenj@math.mit.edu>
Steven G. Johnson <stevenj@alum.mit.edu> <stevenj@fftw.org>
Steven G. Johnson <stevenj@alum.mit.edu> <stevenj.mit@gmail.com>
Steven G. Johnson <stevenj@alum.mit.edu> <stevenj@ab-initio.mit.edu>

Isaiah Norton <isaiah.norton@gmail.com> <isaiah.norton@gmail.com>
Isaiah Norton <isaiah.norton@gmail.com> <inorton@bwh.harvard.edu>

Blake Johnson <blakejohnson04@gmail.com> <blakejohnson04@gmail.com>
Blake Johnson <blakejohnson04@gmail.com> <bjohnson@bbn.com>

Marcus Silva <msilva@bbn.com> <msilva@bbn.com>
Marcus Silva <msilva@bbn.com> <marcus.ps+github@gmail.com>

Amit Murthy <amit.murthy@gmail.com> <amit.murthy@gmail.com>

Tanmay Mohapatra <tanmaykm@gmail.com> <tanmaykm@gmail.com>
Tanmay Mohapatra <tanmaykm@gmail.com> <tanmaykm@julia.mit.edu>

Dan Luu <danluu@gmail.com> <danluu@gmail.com>
Dan Luu <danluu@gmail.com> <Dan>

Kevin Bache <kevin.bache@gmail.com> <kevin.bache@gmail.com>
Kevin Bache <kevin.bache@gmail.com> <trendymoniker@gmail.com>

Rick <rickhg12hs@gmail.com> <rickhg12hs@gmail.com>
Rick <rickhg12hs@gmail.com> <rickhg12hs@users.noreply.github.com>

David Smith <david.smith@gmail.com> <david.smith@gmail.com>
David Smith <david.smith@gmail.com> <david.smith@vanderbilt.edu>

Carlos Becker  <carlosbecker@gmail.com> <cjbecker@iccvlabsrv22.epfl.ch>

Fabian R Lischka <github@fabian-lischka.de> <hackerschool@fabian-lischka.de>

James J Porter <porterjamesj@gmail.com>

Jay Weisskopf <jay@jayschwa.net> <jweisskopf@ebay.com>

Joseph Perla <joseph@notanemail.com> <joseph@ not an email.com>

Jutho <jutho.haegeman@ugent.be> <jutho.haegeman@ugent.be>
Jutho <jutho.haegeman@ugent.be> <Jutho@users.noreply.github.com>

Tomas Lycken <tomas.lycken@gmail.com> <tomas.lycken@gmail.com>
Tomas Lycken <tomas.lycken@gmail.com> <tlycken@kth.se>

Simon Byrne <simon.byrne@gmail.com> <byrne@stats.ucl.ac.uk>
Simon Byrne <simon.byrne@gmail.com> <simonbyrne@gmail.com>

Jake Bolewski <jakebolewski@gmail.com>

Leah Hanson <astrieanna@gmail.com> <leah.a.hanson@gmail.com>

Lei Wang <kookbond@gmail.com> <kookbond@gmail.com>
Lei Wang <kookbond@gmail.com> <wlbksy@users.noreply.github.com>

Kevin Squire <kevin.squire@gmail.com> <kevin@secondspectrum.com>

Michael Fox <415fox@gmail.com> <m@antikc.com>

Miles Gould <mgould1@inf.ed.ac.uk> <miles@assyrian.org.uk>

Pierre-Yves Gerardy <py@py.gy> <pygy79@gmail.com>

Ron Rock <rrock@uchicago.edu> <rsrock@users.noreply.github.com>

Tony Kelman <tony@kelman.net>

Tobias Knopp <tobias@knoppweb.de>

Ben Arthur <bjarthur70@gmail.com> <bjarthur70@gmail.com>
Ben Arthur <bjarthur70@gmail.com> <arthurb@hhmi.org>

Odd Andersen <odd.andersen@gmail.com> <odd.andersen@gmail.com>
Odd Andersen <odd.andersen@gmail.com> <odd.andersen@sintef.no>

Ronan Arraes Jardim Chagas <ronisbr@gmail.com> <ronisbr@gmail.com>
Ronan Arraes Jardim Chagas <ronisbr@gmail.com> <ronan.chagas@ronanchagas-ops.ete.inpe.br>

Tim Besard <tim.besard@gmail.com> <tim.besard@gmail.com>
Tim Besard <tim.besard@gmail.com> <tim.besard@elis.ugent.be>

Tracy Wadleigh <twadleigh@arete.com> <twadleigh@arete.com>
Tracy Wadleigh <twadleigh@arete.com> <twadleigh@.corp.arete.com>

Mike Innes <mike.j.innes@gmail.com>

Sean Garborg <sean.garborg@gmail.com>

Scott P. Jones <scottjones@alum.mit.edu> <scottjones@alum.mit.edu>
Scott P. Jones <scottjones@alum.mit.edu> <ScottPJones@users.noreply.github.com>

M. Prentis <mcprentiss@gmail.com> <mcprentiss@gmail.com>
M. Prentis <mcprentiss@gmail.com> <mprentis@yahoo.com>

Peter <peter.margo@gmx.de> <peter.margo@gmx.de>
Peter <peter.margo@gmx.de> <https://github.com/peter1000>

Rafael Fourquet <fourquet.rafael+github@gmail.com> <fourquet.rafael+github@gmail.com>
Rafael Fourquet <fourquet.rafael+github@gmail.com> <rfourquet@users.noreply.github.com>

Dan Wlasiuk <milktrader@gmail.com> <milktrader@gmail.com>
Dan Wlasiuk <milktrader@gmail.com> <milktrader@hushmail.com>

Rene Donner <rene@donner.at> <rene@donner.at>
Rene Donner <rene@donner.at> <github@donner.at>

Waldir Pimenta <waldyrious@gmail.com> <waldyrious@gmail.com>
Waldir Pimenta <waldyrious@gmail.com> <waldir@email.com>

Young Wu <doomsplayer@gmail.com> <doomsplayer@gmail.com>

Daan Huybrechs <daan.huybrechs@cs.kuleuven.be> <daan.huybrechs@cs.kuleuven.be>

Jey Kottalam <jey@kottalam.net> <jey@kottalam.net>
Jey Kottalam <jey@kottalam.net> <jey@cs.berkeley.edu>

John Myles White <jmw@johnmyleswhite.com> <jmw@johnmyleswhite.com>
John Myles White <jmw@johnmyleswhite.com> <johnmyleswhite@gmail.com>

Katharine Hyatt <kshyatt@physics.ucsb.edu> <kshyatt@physics.ucsb.edu>
Katharine Hyatt <kshyatt@physics.ucsb.edu> <kshyatt@users.noreply.github.com>

Oscar Blumberg <naellyn@gmail.com> <naellyn@gmail.com>
Oscar Blumberg <naellyn@gmail.com> <oscar.blumberg@ens.fr>

Seth Bromberger <seth@ncisecurity.com> <seth@ncisecurity.com>
Seth Bromberger <seth@ncisecurity.com> <sbromberger@users.noreply.github.com>

Tomas Lycken <tomas.lycken@gmail.com> <tomas.lycken@gmail.com>
Tomas Lycken <tomas.lycken@gmail.com> <tlycken@users.noreply.github.com>

Tracy Wadleigh <tracy.wadleigh@gmail.com> <tracy.wadleigh@gmail.com>
Tracy Wadleigh <tracy.wadleigh@gmail.com> <twadleigh@arete.com>
back to top