b570bbe | Valentin Churavy | 14 March 2019, 17:50:28 UTC | turn off early jump threading and pass opt_level to SimpleLoopUnroll | 14 March 2019, 17:51:21 UTC |
4e2c90c | Valentin Churavy | 13 March 2019, 11:59:01 UTC | Merge pull request #31095 from JuliaLang/vc/loopinfo Refactor `Expr(:simdloop)` to `Expr(:loopinfo, ...)` | 13 March 2019, 11:59:01 UTC |
d7fdd75 | Mus | 12 March 2019, 21:46:39 UTC | Capture curl download agent error message (#31209) | 12 March 2019, 21:46:39 UTC |
b3ea10a | Valentin Churavy | 16 February 2019, 19:53:54 UTC | Refactor `Expr(:simdloop)` to `Expr(:loopinfo, ...)` - `Expr(:loopinfo, Symbol("julia.simdloop"))` replaces `Expr(:simdloop, false)` - `Expr(:loopinfo, Symbol("julia.simdloop"), Symbol("julia.ivdep"))` replaces `Expr(:simdloop, true)` While currently not directly exposed users can now pass other [loopinfo](https://llvm.org/docs/LangRef.html#llvm-loop) metadata to LLVM. | 12 March 2019, 19:53:51 UTC |
48e7a35 | Jeff Bezanson | 12 March 2019, 15:31:04 UTC | fix #31256, support `catch_stack` in test system (#31280) | 12 March 2019, 15:31:04 UTC |
57b9210 | Valentin Churavy | 12 March 2019, 14:09:58 UTC | Merge pull request #31113 from chethega/simd_specifity Make `simd_inner_length` generic fallback less specific | 12 March 2019, 14:09:58 UTC |
65df511 | Fredrik Ekre | 12 March 2019, 11:42:07 UTC | Bump Pkg to 1.2-alpha.2. (#31317) | 12 March 2019, 11:42:07 UTC |
5c8be73 | chethega | 12 March 2019, 09:47:09 UTC | moved docs to source comment | 12 March 2019, 09:47:09 UTC |
e949f89 | Keno Fischer | 09 March 2019, 22:55:40 UTC | Refactor Inlining. NFC. I'm working on some problems that require some slightly different characteristics than our default inliner. While working on that, I got frustrated by some of the accumulated cruft and structuring of the inliner, so I decided to spend some time to clean it. This doesn't change any behavior, but moves some of the code around, drops now-unused arguments and properties and introduces a `Signature` struct to encapsulate the (f, ft, atypes, atype) tuple we passed around everywhere. | 12 March 2019, 02:35:20 UTC |
86fcbc7 | Katharine Hyatt | 11 March 2019, 20:08:06 UTC | Merge pull request #31297 from JuliaLang/ksh/mem Doc free_memory and total_memory | 11 March 2019, 20:08:06 UTC |
023c8e4 | Kenta Sato | 11 March 2019, 19:06:52 UTC | allow chop to take an empty string (#31312) | 11 March 2019, 19:06:52 UTC |
27cc988 | Katharine Hyatt | 08 March 2019, 13:26:24 UTC | Doc free_memory and total_memory | 11 March 2019, 13:13:29 UTC |
38439d9 | Katharine Hyatt | 11 March 2019, 07:41:02 UTC | add docs for BLAS.iamax (#31277) | 11 March 2019, 07:41:02 UTC |
d2a54ca | Eric Davies | 09 March 2019, 01:41:00 UTC | Support zero et al on ::Type{Missing} | 10 March 2019, 01:47:57 UTC |
60457de | 张实唯 | 08 March 2019, 17:26:48 UTC | fix doc for `rstrip` (#31296) I think it's a copy-paste error from `lstrip` | 08 March 2019, 17:26:48 UTC |
e9c77eb | Klaus Crusius | 08 March 2019, 15:33:11 UTC | handle fields of Exception correctly in @test_throws (#31224) * added sprandn methods with Type * handle exception fields in @test_throws | 08 March 2019, 15:33:11 UTC |
23f447a | Daniel Karrasch | 08 March 2019, 12:44:19 UTC | doc: added docstrings to Adjoint and Transpose (#31274) | 08 March 2019, 12:44:19 UTC |
f87bc8d | oheil | 08 March 2019, 11:28:22 UTC | Rf/autoindentpaste improvements (#30755) * REPL: disable auto-indent when code is likely being pasted (fix #25186) On some Windows terminals, pasting is not recognized as such. This happens also with tmux' builtin paste. In those cases, auto-indent is better disabled, as we want to preserve the original indentation of the code being pasted. This fix is quite a hack, but seems to work: using time(), if the next character after a newline is being inserted very fast, assume this was with paste, and cancel the insertion of the spaces done by auto-indent. I couldn't insert two characters in a raw within less than about 0.03 or 0.02 seconds, so the threshold for "very fast" is set to 0.0005, but this is an option which can changed. * fix tests * more reliability * don't include refresh_line in the timings * use a separate autoindent variable, as we want to undo indent in case of paste only for auto-indented code (although currently in the REPL code this function is never called with a positive argument) * Some improvements: autoident is now prevented and needs not to be redone. Paste of mixed space/tabs/empty lines is now more reliable. * fixed bug where indent is set externally | 08 March 2019, 11:28:22 UTC |
95a52a5 | tomaklutfu | 08 March 2019, 10:27:25 UTC | An edge case for `length` (#31221) * An edge case for `length` Though `length` of `AbstractUnitRange` for `(U)Int` and `(U)Int64` has special cased with checked arithmetic, the `(U)Int128` dosen't and uses generic fallback. Therefore, it overflows for ```julia julia> r = typemin(Int128):typemax(Int128) -170141183460469231731687303715884105728:170141183460469231731687303715884105727 julia> length(r) 0 julia> r = typemin(UInt128):typemax(UInt128) 0x00000000000000000000000000000000:0xffffffffffffffffffffffffffffffff julia> length(r) 0x00000000000000000000000000000000 ``` whereas ```julia julia> r = typemin(Int64):typemax(Int64) -9223372036854775808:9223372036854775807 julia> length(r) ERROR: OverflowError: 9223372036854775807 -y overflowed for type Int64 Stacktrace: [1] throw_overflowerr_binaryop(::Symbol, ::Int64, ::Int64) at ./checked.jl:154 [2] checked_sub at ./checked.jl:223 [inlined] [3] length(::UnitRange{Int64}) at ./range.jl:540 [4] top-level scope at none:0 julia> r = typemin(UInt64):typemax(UInt64) 0x0000000000000000:0xffffffffffffffff julia> length(r) ERROR: OverflowError: 18446744073709551615 +y overflowed for type UInt64 Stacktrace: [1] throw_overflowerr_binaryop(::Symbol, ::UInt64, ::UInt64) at ./checked.jl:154 [2] checked_add at ./checked.jl:166 [inlined] [3] length(::UnitRange{UInt64}) at ./range.jl:544 [4] top-level scope at none:0 ``` I believe this is an inconsistency. * update StepRange also * Add `length` tests for edge cases * Add StepRange tests too | 08 March 2019, 10:27:25 UTC |
1fc4380 | Fredrik Ekre | 07 March 2019, 21:46:23 UTC | doc: fix doctest for factorial. (#31288) | 07 March 2019, 21:46:23 UTC |
897a6e0 | Katharine Hyatt | 07 March 2019, 19:25:11 UTC | Document `AbstractRNG` and `Random.Random` (#31269) | 07 March 2019, 19:25:10 UTC |
b3c0299 | Alex Arslan | 07 March 2019, 18:21:48 UTC | Support filter for SkipMissing-wrapped arrays (#31235) See discussion in issue 31188. | 07 March 2019, 18:21:48 UTC |
735e7b5 | Jeff Bezanson | 07 March 2019, 18:13:09 UTC | fix method signature for one of the Tuple constructors (#31160) from #31112 | 07 March 2019, 18:13:09 UTC |
7f86715 | Stefan Karpinski | 07 March 2019, 13:22:30 UTC | LICENSE: update copyright year | 07 March 2019, 13:22:30 UTC |
05ee672 | Klaus Crusius | 07 March 2019, 07:48:05 UTC | Reject `Symmetric(Hermitian(A))` if diagonal of A is not real, fixes #30814. (#31051) | 07 March 2019, 07:48:05 UTC |
ac8c5b7 | Thibaut Cuvelier | 07 March 2019, 07:44:31 UTC | better error message for overflow in factorial, fixes #18303 (#31123) | 07 March 2019, 07:44:31 UTC |
73e9535 | Don MacMillen | 07 March 2019, 07:41:28 UTC | Update function 'warn' to macro '@warn' in SHA runtests.jl (#31262) | 07 March 2019, 07:41:28 UTC |
6b65c24 | Jeff Bezanson | 07 March 2019, 07:08:13 UTC | fix #31194, latex chars `upharpoonright` and `upharpoonleft` swapped (#31279) | 07 March 2019, 07:08:13 UTC |
3d02325 | Katharine Hyatt | 07 March 2019, 07:06:30 UTC | Add docs for `ClusterManager` and `WorkerConfig` (#31234) | 07 March 2019, 07:06:30 UTC |
62f5c2f | Jeff Bezanson | 07 March 2019, 01:53:00 UTC | fix #31255, don't consider empty symbol to be all underscores (#31275) | 07 March 2019, 01:53:00 UTC |
dc3056b | Felipe Noronha | 06 March 2019, 21:46:15 UTC | doc: add cross-reference to pointer objref methods. (#31273) | 06 March 2019, 21:46:15 UTC |
5e95155 | Fredrik Ekre | 06 March 2019, 21:42:56 UTC | Two SparseArrays fixes. (#31254) * Fix build warning about replacing docs for SparseMatrixCSCSymmHerm. * Don't export SparseArrays.(unwrap|iswrsparse). | 06 March 2019, 21:42:56 UTC |
7ee9cf8 | Daniel Karrasch | 06 March 2019, 20:11:01 UTC | doc: fix typo from #31263 (#31270) | 06 March 2019, 20:11:01 UTC |
53e336e | Jameson Nash | 06 March 2019, 19:02:42 UTC | build,macos: correct the install name of several libraries (#31261) | 06 March 2019, 19:02:42 UTC |
800512a | Lyndon White | 06 March 2019, 14:29:27 UTC | doc: improve docstring for ispath (#31267) | 06 March 2019, 14:29:27 UTC |
776ddce | Katharine Hyatt | 06 March 2019, 14:28:16 UTC | Document SharedVector and SharedMatrix (#31263) | 06 March 2019, 14:28:15 UTC |
6552521 | Koustav Chowdhury | 06 March 2019, 11:24:17 UTC | complex: define unary plus and add tests (#31237) | 06 March 2019, 11:24:17 UTC |
00d6750 | Mus | 06 March 2019, 08:06:41 UTC | rebase: Throw OutOfMemoryError when gmp tries to allocate memory beyond the limit (#31215) * Throw OutOfMemoryError when gmp tries to allocate memory beyond the limit. Only works with patched GMP; does nothing if linked agaist system GMP. * Use a ref to indicate patched gmp and tweak test | 06 March 2019, 08:06:41 UTC |
1c8c8e7 | Keno Fischer | 04 November 2018, 02:42:55 UTC | Improve _apply(apply_type, ::Tuple, ::SimpleVector) This is another one of those patterns that doesn't generally come up except in Cassette/Zygote code. There's two related changes here: 1. Expand ininling's _apply rewrite to also handle constant svecs (under the restriction that they must be no longer than the splatting cutoff and the elements must be individually eligible for inlining into the IR) 2. Move the _apply rewrite before the special case inliner for builtins such that _apply(apply_type, ...) gets eliminated early. | 06 March 2019, 02:45:06 UTC |
c034b2f | Mus | 06 March 2019, 01:17:45 UTC | Allow curl on windows if available and silence curl downloads (#31173) | 06 March 2019, 01:17:45 UTC |
a1e41b9 | Fredrik Ekre | 05 March 2019, 19:21:03 UTC | Bump Pkg to 1.2-alpha. (#31116) | 05 March 2019, 19:21:03 UTC |
9656c44 | Katharine Hyatt | 05 March 2019, 10:27:01 UTC | Docs for PosDefException and SingularException (#31251) | 05 March 2019, 10:27:01 UTC |
3f64624 | Viral B. Shah | 05 March 2019, 03:39:57 UTC | Disable the building of unused suitesparse libs. (#31249) * Disable the building of unused suitesparse libs. | 05 March 2019, 03:39:57 UTC |
0a471c8 | Alex Arslan | 05 March 2019, 01:03:18 UTC | Include --export-dynamic in julia-config ldflags on FreeBSD (#31046) | 05 March 2019, 01:03:18 UTC |
6eb48cb | Felipe Noronha | 04 March 2019, 21:48:49 UTC | doc: fix cfunction macro docstring (#31250) | 04 March 2019, 21:48:49 UTC |
7a75d6b | Klaus Crusius | 04 March 2019, 21:31:51 UTC | Fast conversion of wrapped types to SparseMatrixCSC (#30552) * Fast conversion of wrapped types to SparseMatrixCSC * moved sparse conversions to sparseconvert.jl | 04 March 2019, 21:31:51 UTC |
df9210e | Katharine Hyatt | 04 March 2019, 20:01:12 UTC | Merge pull request #31247 from JuliaLang/ksh/unittri Docs for `UnitUpperTriangular` and `UnitLowerTriangular` | 04 March 2019, 20:01:12 UTC |
a258f9b | Jeff Bezanson | 04 March 2019, 19:59:02 UTC | fix #31190, wrong subtyping of left vars and unions (#31216) | 04 March 2019, 19:59:02 UTC |
563396c | Jameson Nash | 04 March 2019, 18:33:27 UTC | SuiteSparse: fix shlib build (#31196) Lots changed about the build in v5, with some of our old workarounds getting in the way of changes to the SuiteSparse build system, and some upstream "(untested)" code that was, of course therefore, wrong. | 04 March 2019, 18:33:27 UTC |
389973b | Mus | 04 March 2019, 17:09:52 UTC | Update readme to include instruction for using pre-built deps (#31203) | 04 March 2019, 17:09:52 UTC |
2fffe9f | Katharine Hyatt | 04 March 2019, 16:42:29 UTC | Docs for `UnitUpperTriangular` and `UnitLowerTriangular` | 04 March 2019, 16:42:29 UTC |
79fd332 | Alex Arslan | 04 March 2019, 08:23:44 UTC | Accept a function to strip like rstrip and lstrip (#31211) `strip` is documented to accept a function argument but it does not. `rstrip` and `lstrip` do, so it seems this was simply an oversight. See #31195. | 04 March 2019, 08:23:44 UTC |
230c7fb | Katharine Hyatt | 03 March 2019, 19:23:58 UTC | Document Logging.Logging (#31228) | 03 March 2019, 19:23:58 UTC |
9cb2305 | Jan Weidner | 03 March 2019, 18:56:19 UTC | docstrings for Base, Core, Main, Module (#31131) | 03 March 2019, 18:56:19 UTC |
c316364 | Katharine Hyatt | 03 March 2019, 18:11:40 UTC | Document `AbstractDisplay` (#31229) | 03 March 2019, 18:11:40 UTC |
b845b06 | Katharine Hyatt | 03 March 2019, 18:10:10 UTC | Document undocumented exports and add Examples (#31225) Co-Authored-By: kshyatt <kshyatt@users.noreply.github.com> | 03 March 2019, 18:10:10 UTC |
f5904e2 | chethega | 19 February 2019, 21:12:04 UTC | changed specifity of Base.SimdLoop.simd_inner_length and Base.SimdLoop.simd_index to simplify opt-out for custom iterators that do not support random access or length | 03 March 2019, 12:44:03 UTC |
5456b4f | jmkuhn | 03 March 2019, 01:58:11 UTC | Update @deprecate export documentation (#31226) | 03 March 2019, 01:58:11 UTC |
a6d34ff | Alex Arslan | 03 March 2019, 01:55:17 UTC | Remove mention of a predicate function in strip docstring (#31213) `lstrip` and `rstrip` take a predicate function as the first argument. It seems `strip` did not receive that addition, though its docstring suggests that it did. See #31195. | 03 March 2019, 01:55:17 UTC |
2ca7d83 | Fredrik Ekre | 01 March 2019, 21:31:38 UTC | doc: fix example for UndefRefError. (#31220) | 01 March 2019, 21:31:38 UTC |
5a4191d | Koustav Chowdhury | 01 March 2019, 11:11:55 UTC | linalg: add diagm(v) as shorthand for diagm(0 => v), fixes #31111 (#31125) | 01 March 2019, 11:11:55 UTC |
9329e0f | Matt Bauman | 01 March 2019, 11:10:40 UTC | Don't export `reindex` and `substrides` (#31201) * Don't export `reindex` It was inadvertently exported by #30789. It's tailored to `SubArray` and doesn't check for preconditions that are enforced by the `SubArray` constructor — so while we could export it, I'd like to do so intentionally and add friendlier errors for violations of these preconditions. * Same deal for `substrides` | 01 March 2019, 11:10:40 UTC |
ef1f981 | Lyndon White | 01 March 2019, 11:08:49 UTC | doc: include clockwise and counterclockwise in rot docstrings (#31157) | 01 March 2019, 11:08:49 UTC |
ca92c7b | Martin Holters | 01 March 2019, 11:05:54 UTC | Fix `-`, `conj`, and `conj!` for sparse matrices with invalid entries in `nzval` (#31187) | 01 March 2019, 11:05:54 UTC |
323a832 | Katharine Hyatt | 01 March 2019, 11:05:31 UTC | doc: document AbstractDict and AbstractSet (#31206) | 01 March 2019, 11:05:31 UTC |
a3a36c8 | Milan Bouchet-Valat | 01 March 2019, 11:02:41 UTC | Improve docstrings for std and var (#31200) | 01 March 2019, 11:02:41 UTC |
91b1271 | Dmitry Kaysin | 01 March 2019, 11:01:34 UTC | Add minor tests: reduce on empty array and type-stability for prod function (#31205) | 01 March 2019, 11:01:34 UTC |
8639dc1 | Jeff Bezanson | 01 March 2019, 01:26:18 UTC | fix #31115, type intersection incorrectly giving `Union{}` as parameter (#31175) | 01 March 2019, 01:26:18 UTC |
cab5ba5 | Valentin Churavy | 28 February 2019, 17:13:08 UTC | SuiteSparse tries to detect CUDA and it fails (#31102) We don't permit dependencies to do feature-detection as it results in unreliable builds. | 28 February 2019, 17:13:08 UTC |
215a5c9 | Katharine Hyatt | 28 February 2019, 17:03:26 UTC | Merge pull request #31186 from JuliaLang/ksh/essentialnits more backticks, xrefs, and doctests for essentials and basedocs | 28 February 2019, 17:03:26 UTC |
565cf7b | Katharine Hyatt | 28 February 2019, 17:02:10 UTC | Merge pull request #31189 from JuliaLang/ksh/xrefmeta More xrefs for the meta docs | 28 February 2019, 17:02:10 UTC |
deb4751 | Katharine Hyatt | 28 February 2019, 15:52:56 UTC | Merge pull request #31192 from JuliaLang/ksh/devtypes Xrefs for the types devdocs | 28 February 2019, 15:52:56 UTC |
36e8634 | Katharine Hyatt | 27 February 2019, 22:55:15 UTC | Xrefs for the types devdocs | 27 February 2019, 22:55:15 UTC |
f44a37f | Steven G. Johnson | 27 February 2019, 22:14:32 UTC | rm obsolete reference to vecnorm | 27 February 2019, 22:14:32 UTC |
6b0c5c2 | Matt Bauman | 27 February 2019, 20:14:07 UTC | Merge pull request #31174 from cstjean/faster-broadcast-widening Make broadcast eltype widening type-stable | 27 February 2019, 20:14:07 UTC |
87b6b00 | Sakse | 27 February 2019, 18:46:36 UTC | Add `ldiv!` and `rdiv!` for arrays with numbers and UniformScaling (#31179) * Add `ldiv!` and `rdiv!` for arrays and numbers * Add `ldiv!`, `rdiv!` for matrices and UniformScaling | 27 February 2019, 18:46:36 UTC |
0b38dd0 | Katharine Hyatt | 27 February 2019, 18:10:44 UTC | More xrefs for the meta docs | 27 February 2019, 18:10:44 UTC |
a86ca21 | cstjean | 25 February 2019, 20:12:20 UTC | Introduce a function barrier in Broadcast.copyto_nonleaf! to improve type stability during type widening | 27 February 2019, 15:29:33 UTC |
0df0e2c | Katharine Hyatt | 27 February 2019, 14:59:35 UTC | Merge pull request #31184 from JuliaLang/ksh/show xref for the show macro | 27 February 2019, 14:59:35 UTC |
2bbb599 | Katharine Hyatt | 27 February 2019, 12:11:59 UTC | doc: more xrefs for multithreading and some spacing fixes (#31150) | 27 February 2019, 12:11:59 UTC |
9732693 | Jacob Quinn | 27 February 2019, 07:06:01 UTC | Merge pull request #30912 from JuliaLang/sb/tons define Dates.tons for CompoundPeriods | 27 February 2019, 07:06:01 UTC |
d2cac97 | Rob Vermaas | 27 February 2019, 00:42:44 UTC | Print timings to stderr in stead of stdout, when using ENABLE_TIMINGS. (#31180) This makes it possible to use a version of julia compiled with ENABLE_TIMINGS in projects that use e.g. CxxWrap, which depend on some output that is printed to stdout. Also, it is better not to use stdout with debug/info messages. | 27 February 2019, 00:42:44 UTC |
243f8a0 | Katharine Hyatt | 27 February 2019, 00:31:12 UTC | more backticks, xrefs, and doctests for essentials and basedocs | 27 February 2019, 00:31:12 UTC |
5c91865 | Katharine Hyatt | 26 February 2019, 23:14:14 UTC | xref for the show macro | 26 February 2019, 23:14:14 UTC |
4b01e6a | Fredrik Ekre | 26 February 2019, 16:06:40 UTC | Reset LOAD_PATH when generating precompile statements. (#31178) | 26 February 2019, 16:06:40 UTC |
de48421 | Jeff Bezanson | 25 February 2019, 22:13:35 UTC | fix #30741, fix #31082, stack overflow in type intersection (#31167) | 25 February 2019, 22:13:35 UTC |
d2cd3f4 | Tim Besard | 25 February 2019, 06:24:57 UTC | Merge pull request #31101 from JuliaLang/tb/skip_lower_intrinsics Make it possible to add optimization passes without lowering intrinsics. | 25 February 2019, 06:24:57 UTC |
31234a5 | Katharine Hyatt | 24 February 2019, 21:12:25 UTC | Merge pull request #31165 from YingboMa/myb/const Check undefined fields in `⊑` | 24 February 2019, 21:12:25 UTC |
b70339a | Yingbo Ma | 24 February 2019, 00:32:41 UTC | Check undefined fields in `⊑` | 24 February 2019, 18:46:03 UTC |
7e4641d | Valentin Churavy | 24 February 2019, 02:50:11 UTC | Merge pull request #31018 from YingboMa/vc/aliasscopes Implement alias scopes | 24 February 2019, 02:50:11 UTC |
87b6788 | Jeff Bezanson | 24 February 2019, 00:29:51 UTC | fix method overwrite in new 0-arg Ptr constructor (#31161) | 24 February 2019, 00:29:51 UTC |
873c52b | Florin Gogianu | 23 February 2019, 20:09:47 UTC | Add gfortran linking troubleshooting note. (#31120) | 23 February 2019, 20:09:47 UTC |
69b6b8e | Angus | 09 July 2018, 10:32:04 UTC | Remove caveat about WSL timestamps in /mnt | 23 February 2019, 19:35:27 UTC |
c4c598f | Katharine Hyatt | 23 February 2019, 14:52:48 UTC | Merge pull request #31155 from benschreiber/issue-27978 doc: add cross-ref b/w `isdefined` and `@isdefined` | 23 February 2019, 14:52:48 UTC |
ab46b8e | Ben Schreiber | 23 February 2019, 07:14:46 UTC | doc: add cross-ref b/w `isdefined` and `@isdefined` Fixes #27978 | 23 February 2019, 07:22:18 UTC |
33795c8 | Lyndon White | 22 February 2019, 23:27:25 UTC | doc: add units to summarysize docstring (#31148) | 22 February 2019, 23:27:25 UTC |
53405a4 | Keno Fischer | 25 January 2017, 23:43:32 UTC | Implement alias scopes Co-authored-by: Keno Fischer <kfischer@college.harvard.edu> Co-authored-by: Yingbo Ma <mayingbo5@gmail.com> Co-authored-by: Valentin Churavy <v.churavy@gmail.com> | 22 February 2019, 20:26:38 UTC |
0d21100 | Milan Bouchet-Valat | 22 February 2019, 12:43:45 UTC | Add indexing support to SkipMissing (#31008) Define IndexStyle, eachindex, keys and getindex to match indices of wrapped array, skipping missing entries. This notably allows finding the index of elements in the wrapped array using findall, findnext, argmin/max and findmin/max. | 22 February 2019, 12:43:45 UTC |
cde5c4c | Keno Fischer | 21 February 2019, 22:19:28 UTC | Don't assume the user is using getfield correctly Sometimes there's fewer arguments than we expect. Fixes #31139. | 22 February 2019, 06:07:29 UTC |
07fcdcc | Keno Fischer | 21 February 2019, 02:00:26 UTC | Fix DFS tree construction It's called a Depth-First tree after all, not a dept-first-but-feel-free-to-record-any-of-the-parents tree. In particular, in order for the semi-dominator condition to hold, the parent in the DFS tree needs to be the predecessor with the highest DFS number. Here we were accidentally doing the opposite casuing us to look at the wrong node in case the sdom and the idom are not the same. To understand #31121, consider the following CFG (minimized from the bug report to show the issue), as well as the corresponding DFS numbering and sdom assignment ``` CFG DFS sdom A 1 0 | \ | \ |\ B C 2 5 1 1 /|/ /|/ /|/ | D | 3 | 1 \| \| \| E 4 2 ``` This bug caused us to record the parent of `E` as `B`, when it should have been `D` (the relevant invariant here is that the parent in the DFS tree is the predecessor with the highest DFS number). As a result, when computing idoms from the sdoms, we were incorrectly looking at `B`, seeing that the sdom matched the ancestor in the DFS tree and thus concluding that `E`'s idom was `B` rather than `A`. As a result, we neglected to insert a phi node in `E`. Fixes #31121 | 21 February 2019, 15:18:07 UTC |