b4bb652 | kpamnany | 17 May 2018, 23:54:04 UTC | Most of test/channels.jl runs. | 17 May 2018, 23:54:04 UTC |
3de3a30 | kpamnany | 17 May 2018, 22:11:27 UTC | Support for exceptions. Still WiP. | 17 May 2018, 22:11:27 UTC |
e597302 | kpamnany | 17 May 2018, 15:43:48 UTC | Small correction to type creation. | 17 May 2018, 15:43:48 UTC |
082e179 | kpamnany | 16 May 2018, 23:09:28 UTC | WiP: debugging test run of channels.jl | 16 May 2018, 23:09:28 UTC |
b6997f6 | kpamnany | 16 May 2018, 20:52:29 UTC | Some more fixes. It runs! Mostly... | 16 May 2018, 20:52:29 UTC |
427cca5 | kpamnany | 15 May 2018, 22:05:38 UTC | Fix yield from libuv callback (causes segfault) | 15 May 2018, 22:05:38 UTC |
ee488db | kpamnany | 14 May 2018, 21:44:42 UTC | Condition no longer has a waitq | 15 May 2018, 16:03:12 UTC |
c0bbef6 | kpamnany | 14 May 2018, 20:46:30 UTC | schedule() should return the task REPL prompt appears! | 15 May 2018, 16:03:12 UTC |
1feb440 | kpamnany | 14 May 2018, 20:19:18 UTC | More GC related fixes | 15 May 2018, 16:03:12 UTC |
c17a116 | kpamnany | 14 May 2018, 19:23:06 UTC | More GC related fixes | 15 May 2018, 16:03:11 UTC |
640aca0 | kpamnany | 14 May 2018, 18:31:42 UTC | Mark (for GC) tasks in scheduler queues | 15 May 2018, 16:03:11 UTC |
d566c0c | kpamnany | 09 May 2018, 16:48:41 UTC | Fix some warnings. | 15 May 2018, 16:03:11 UTC |
1674631 | kpamnany | 30 April 2018, 19:30:58 UTC | Initialize sticky queue locks | 15 May 2018, 16:03:11 UTC |
1b64cd5 | kpamnany | 30 April 2018, 18:00:51 UTC | Fix segfault at task invocation | 15 May 2018, 16:03:11 UTC |
c2e9cbf | kpamnany | 17 April 2018, 17:41:57 UTC | More review comments addressed; now builds | 15 May 2018, 16:03:11 UTC |
8a9aafe | kpamnany | 16 April 2018, 23:18:21 UTC | Partr fields exist only when partr is enabled | 15 May 2018, 16:03:11 UTC |
9c72576 | kpamnany | 16 April 2018, 22:38:47 UTC | More review comments addressed. | 15 May 2018, 16:03:11 UTC |
dc0e812 | Valentin Churavy | 12 April 2018, 19:04:22 UTC | have only one entry for task creation | 15 May 2018, 16:03:11 UTC |
20cf22a | Valentin Churavy | 10 April 2018, 20:32:05 UTC | [partr] gc_debug | 15 May 2018, 16:03:10 UTC |
fda7f23 | kpamnany | 16 April 2018, 18:48:38 UTC | Some PR review comments addressed. | 15 May 2018, 16:03:10 UTC |
9c090fa | kpamnany | 03 April 2018, 02:36:01 UTC | Fixes for `Task` and `Condition` definitions Reorder `jl_task_t` to move all Julia object references to the beginning. Add some write barriers. More fields of the task structure are declared in the task type. | 15 May 2018, 16:03:10 UTC |
bc1ddc9 | kpamnany | 27 June 2017, 12:23:49 UTC | Integrating partr in progress Added partr code. Abstracted interface to threading infrastructure. Almost complete. Julia side in progress (task.jl, event.jl, channels.jl, etc.?). Successfully builds basecompiler, but fails on building the system image. | 15 May 2018, 16:03:10 UTC |
b5d3874 | Jameson Nash | 15 May 2018, 15:58:14 UTC | gf-cache: permit `@nospecialize` on Varargs (#27081) this ensures the Expr constructor is not over-specialized / compiled | 15 May 2018, 15:58:14 UTC |
eebeaa9 | Matt Bauman | 15 May 2018, 15:24:43 UTC | More robust iteration over Vectors (#27079) * More robust iteration over Vectors Currently, if a vector is resized in the midst of iteration, then `done` might "miss" the end of iteration. This trivially changes the definition to catch such a case. I am not sure what guarantees we make about mutating iterables during iteration, but this seems simple and easy to support. Note, though, that it is somewhat tricky: until #13866 we used `i > length(a)`, but that foils vectorization due to the `typemax` case. This definition seems to get the best of both worlds. For a definition like `f` below, this new definition just requires one extra `add i64` operation in the preamble (before the loop). Everything else is identical to master. ```julia function f(A) r = 0 @inbounds for x in A r += x end r end ``` | 15 May 2018, 15:24:43 UTC |
1b92f51 | Martin Holters | 15 May 2018, 06:26:05 UTC | Improve inference of `collect` with unstable eltype (#25861) Ensure that `promote_typejoin(::Any, ::Any)` is at worst inferred as `Type`, since inference of `similar(dest, ::Any)` is very vague as the second parameter could not only be the new element type, but also e.g. new size. Also ensure that `_array_for(::Type, itr, ::HasShape{N})` is inferable as an `Array{T,N}` with the correct `N`. | 15 May 2018, 06:26:05 UTC |
fcaa379 | Keno Fischer | 14 May 2018, 22:06:02 UTC | Merge pull request #27087 from JuliaLang/kf/enablenew Enable new optimizer by default | 14 May 2018, 22:06:02 UTC |
ca764ea | Matt Bauman | 14 May 2018, 21:11:04 UTC | Fix `join((), ", ")` (#27062) This is a simply hack to avoid working with an `Iterators.Stateful(())`, which has problems when trying to stably infer the return type of the error function `next((), _)`. Punts https://github.com/JuliaLang/julia/issues/26871 to just using `Stateful` itself. | 14 May 2018, 21:11:04 UTC |
098f40f | James Bradbury | 14 May 2018, 20:37:23 UTC | add dump method for Ptr (#26880) * add dump method for Ptr Currently `dump(x::Ptr)` will print the type of the pointer twice, e.g. ```Ptr{Nothing} Ptr{Nothing} @0x0000000120f1d2d0``` This adds an overload so that it only prints once. * add test * fix test * newline | 14 May 2018, 20:37:23 UTC |
66c7b7d | Matt Bauman | 14 May 2018, 18:29:58 UTC | Deprecate broadcast_(get|set)index in favor of broadcasted (get|set)index (#27075) * Deprecate broadcast_(get|set)index in favor of broadcasted (get|set)index The performance here is comparable in my few quick tests, and only two packages used either of these functions -- both in situations where they would have gained much more by participating in dot-fusion. | 14 May 2018, 18:29:58 UTC |
12f4ebd | Matt Bauman | 14 May 2018, 18:22:59 UTC | Deprecate flipbits! in favor of dot-broadcasting (#27067) * Deprecate flipbits! in favor of dot-broadcasting Seems like we no longer need this function: ```julia julia> B = bitrand(100,1000); julia> @benchmark flipbits!($B) BenchmarkTools.Trial: memory estimate: 0 bytes allocs estimate: 0 -------------- minimum time: 87.996 ns (0.00% GC) median time: 88.474 ns (0.00% GC) mean time: 88.596 ns (0.00% GC) maximum time: 118.378 ns (0.00% GC) -------------- samples: 10000 evals/sample: 960 julia> @benchmark $B .= .!$B BenchmarkTools.Trial: memory estimate: 0 bytes allocs estimate: 0 -------------- minimum time: 88.060 ns (0.00% GC) median time: 88.202 ns (0.00% GC) mean time: 88.314 ns (0.00% GC) maximum time: 137.057 ns (0.00% GC) -------------- samples: 10000 evals/sample: 960 ``` | 14 May 2018, 18:22:59 UTC |
0b1e166 | Jeff Bezanson | 13 May 2018, 22:27:44 UTC | don't allow promoting `Some{T}` and `Some{S}` (#27065) add promotion rule for `Union{Nothing, Missing, T}` fixes the bug part of #26927 | 13 May 2018, 22:27:44 UTC |
88f1712 | Keno Fischer | 12 May 2018, 22:14:03 UTC | Enable new optimizer by default | 13 May 2018, 00:20:29 UTC |
4b7687c | Keno Fischer | 13 May 2018, 00:19:53 UTC | [NewOptimizer] Fix 32bit build | 13 May 2018, 00:20:29 UTC |
2a21849 | Keno Fischer | 12 May 2018, 22:13:12 UTC | Merge pull request #27086 from JuliaLang/kf/fixcodegen [NewOptimizer] Fix codegen test | 12 May 2018, 22:13:12 UTC |
8bc794d | Keno Fischer | 12 May 2018, 19:38:04 UTC | [NewOptimizer] Fix codegen test With the new optimizer enabled, we compile a signature for eval(::Module, ::Any), which throws off the codegen test. I'm not entirely sure why this is different, from the old optimizer, but presumably the old optimizer compiled this singature beforehand. To fix this, simply add another call to `eval` that forces this signature to be compiled. | 12 May 2018, 19:40:28 UTC |
39cbbc2 | Jeff Bezanson | 12 May 2018, 19:18:47 UTC | Merge pull request #27068 from JuliaLang/jb/ifelse combine `ifelse` and `select_value`; improve `ifelse` t-func | 12 May 2018, 19:18:47 UTC |
2a60371 | Keno Fischer | 12 May 2018, 18:49:44 UTC | Merge pull request #27082 from JuliaLang/kf/libgit2close Make LibGit2 GitRepo API robust against closed repos | 12 May 2018, 18:49:44 UTC |
6863555 | Guilherme Leobas | 12 May 2018, 16:45:06 UTC | Fix issue when Enum doesn't display UInt8 correctly. (#27069) fixes #27025 | 12 May 2018, 16:45:06 UTC |
4bb705e | Alex Arslan | 12 May 2018, 16:42:53 UTC | Rename isalpha to isletter (#27077) | 12 May 2018, 16:42:53 UTC |
e0aec93 | Jameson Nash | 12 May 2018, 03:15:00 UTC | Merge pull request #27011 from JuliaLang/jn/Profile-code-cleanup faster Profile.print code | 12 May 2018, 03:15:00 UTC |
a224143 | Keno Fischer | 12 May 2018, 02:39:05 UTC | Make LibGit2 GitRepo API robust against closed repos Fixes #21638 | 12 May 2018, 02:39:05 UTC |
ff99c03 | Keno Fischer | 12 May 2018, 01:44:34 UTC | Merge pull request #27074 from JuliaLang/kf/pinodeinsertion Extract PiNode insertion code from #26969 | 12 May 2018, 01:44:34 UTC |
acab3e0 | Jeff Bezanson | 10 May 2018, 23:58:29 UTC | improve t-func for `ifelse` with a `Conditional` argument | 11 May 2018, 21:16:09 UTC |
9f1ca1e | Jeff Bezanson | 10 May 2018, 23:02:37 UTC | combine `ifelse` and `select_value` into one Builtin Fix ifelse codegen Our return hint may be a concrete type, in which case we want to do the implicit convert before we decide on a strategy for actually emitting the select. | 11 May 2018, 21:16:00 UTC |
1d53232 | Jarrett Revels | 11 May 2018, 20:37:37 UTC | fix fieldtype vararg and union handling (#27059) * fix fieldtype vararg and union handling * add tests | 11 May 2018, 20:37:37 UTC |
a65d8b4 | Keno Fischer | 11 May 2018, 18:22:57 UTC | Extract PiNode insertion code from #26969 This is just the pinode insertion code from #26969, which together with #27068, should hopefully cover the same benchmarks in a more acceptable way. | 11 May 2018, 18:22:57 UTC |
b9b4da5 | Matt Bauman | 11 May 2018, 18:15:52 UTC | Support zero-dimensional reshapes (#27061) Final point that can close #17194. | 11 May 2018, 18:15:52 UTC |
3b5e180 | Keno Fischer | 11 May 2018, 18:02:34 UTC | One more bugfix from #26969 | 11 May 2018, 18:03:29 UTC |
c43d3b0 | Matt Bauman | 11 May 2018, 16:09:46 UTC | Add test to ensure rand! is allocation-free (#27060) Adds a test to close #14006. | 11 May 2018, 16:09:46 UTC |
749afcb | Kristoffer Carlsson | 11 May 2018, 15:56:00 UTC | Merge pull request #27046 from JuliaLang/kc/bump_pkg3_8 Bump Pkg3 | 11 May 2018, 15:56:00 UTC |
f90c599 | Andreas Noack | 11 May 2018, 06:29:57 UTC | Avoid out of bounds read in mul! for SymTridiagonal (#27008) * Avoid out of bounds read in mul! for SymTridiagonal Fixes #26994 * Also handle 0x0 case | 11 May 2018, 06:29:57 UTC |
1b73dfc | Keno Fischer | 11 May 2018, 02:58:00 UTC | Merge pull request #27064 from JuliaLang/kf/newoptbugfixes Extract bug fixes from #26969 | 11 May 2018, 02:58:00 UTC |
34d04a4 | Kristoffer Carlsson | 11 May 2018, 00:25:41 UTC | fix showing shared arrays (#27047) | 11 May 2018, 00:25:41 UTC |
0ed32a3 | Simon Byrne | 11 May 2018, 00:24:41 UTC | Fix method overwrite warning (#27056) Fix method overwrite warning in `round` Fixes #27053 | 11 May 2018, 00:24:41 UTC |
f1b2328 | Jameson Nash | 10 May 2018, 22:10:21 UTC | fix a method cache matching issue with Type{T} (#26984) respect type-equality, keep track separately of what Kind it needs to match revert dfd8fc1f9067a4ec78dfdab0b36089842a10bab9 fix #11840 (except for generated functions) | 10 May 2018, 22:10:21 UTC |
6fb4569 | Jeff Bezanson | 10 May 2018, 21:21:44 UTC | don't show `Environment:` in `versioninfo` output when env is empty (#27050) | 10 May 2018, 21:21:44 UTC |
78cf3cc | Keno Fischer | 03 May 2018, 20:39:15 UTC | [NewOptimizer] Minor bugfixes | 10 May 2018, 20:52:27 UTC |
ac1f2bf | Keno Fischer | 03 May 2018, 18:10:36 UTC | [NewOptimizer] Fix bug in unionsplit | 10 May 2018, 20:51:23 UTC |
ee4b18f | Jameson Nash | 10 May 2018, 16:16:43 UTC | dump: handle recursion better (#27051) where better means at least as well as `show_default` | 10 May 2018, 16:16:43 UTC |
5fb465f | Jeff Bezanson | 10 May 2018, 15:46:44 UTC | fix a transitivity issue in specificity, from #26915 (#27042) | 10 May 2018, 15:46:44 UTC |
fb1c21c | Jameson Nash | 10 May 2018, 14:29:12 UTC | function cache: fix memory leak (#26982) some lookup functions (most notably, jl_get_specialization1) were bypassing the initial cache lookup, resulting in repeatedly trying to re-cache them, and wasting a small amount memory also remove some fast-path code for threading race conditions: the benefit is too negligible to be worth the extra code maintenance | 10 May 2018, 14:29:12 UTC |
365d389 | Stefan Karpinski | 10 May 2018, 11:15:28 UTC | Merge pull request #27049 from JuliaLang/sk/revert-slp Revert "enable the SLP Vectorizer optimization pass by default" | 10 May 2018, 11:15:28 UTC |
b5815c8 | Jeff Bezanson | 10 May 2018, 03:02:57 UTC | fix element type returned by `Set()` on general iterators (#27052) | 10 May 2018, 03:02:57 UTC |
d54c30e | Keno Fischer | 10 May 2018, 02:54:32 UTC | Merge pull request #27022 from JuliaLang/kf/vacodegen WIP: Relax restrictions on specsig for vararg | 10 May 2018, 02:54:32 UTC |
e4fa75d | Matt Bauman | 09 May 2018, 22:15:58 UTC | Simplify SparseMatrix setindex! (#27026) * Simplify SparseMatrix setindex! Fix #27013, and add a whole slew of tests. `methods(setindex!, Tuple{SparseMatrixCSC, Vararg{Any}})` goes from a hodgepodge of 26 methods that were tough to reason about to just 6 methods: scalar, logical linear indexing, linear indexing with a vector, linear indexing with a matrix, generic nonscalar indexing, and a disambiguation method. This is much easier to reason about, and fixes a handful of bugs. * : -> j | 09 May 2018, 22:15:58 UTC |
a0b1e98 | Tom Krauss | 09 May 2018, 18:25:56 UTC | fix #27005, list div operator in docs (#27006) | 09 May 2018, 18:25:56 UTC |
0db674d | Matt Bauman | 09 May 2018, 17:58:06 UTC | Make Broadcasted iterable and more indexable (#26987) Defines iteration and some related traits as well as a few functions to make indexing a bit friendlier. | 09 May 2018, 17:58:06 UTC |
04fe0f4 | Jeff Bezanson | 09 May 2018, 17:52:14 UTC | make -O1 a bit more useful by disabling more optimization passes (#27028) | 09 May 2018, 17:52:14 UTC |
b19337b | Stefan Karpinski | 09 May 2018, 15:01:02 UTC | Revert "enable the SLP Vectorizer optimization pass by default" This reverts commit 32bcf5d8e547ca57e02536aca4354316364db8bb. Temporary fix for #27032, a real fix is still needed | 09 May 2018, 15:01:02 UTC |
b81b118 | Fredrik Ekre | 09 May 2018, 13:42:51 UTC | remove duplicate LinearIndices docs (#27037) * remove duplicate LinearIndices docs * extend Base.LinearIndices * fix another module local function, preserve (Linear|Cartesian)Indices(::UnitRange{<:Integer}) | 09 May 2018, 13:42:51 UTC |
bbda1ab | ederag | 09 May 2018, 12:54:59 UTC | try to create T(NaN)//one(T) instead of zero(T)//zero(T) (#26823) (#26875) | 09 May 2018, 12:54:59 UTC |
980be60 | Kristoffer Carlsson | 09 May 2018, 10:01:47 UTC | fix spelling of instantiate | 09 May 2018, 11:08:46 UTC |
978d2e8 | Kristoffer Carlsson | 09 May 2018, 09:48:27 UTC | use smaller granularity in progressbar when testing | 09 May 2018, 11:08:46 UTC |
4ec7bb2 | Simon Byrne | 09 May 2018, 07:52:18 UTC | Download archives by tree hash instead of tag (#281) * Download archives by tree hash instead of tag Since we don't do any validation of the archives, downloading based on tag presents a potential security hole whereby a compromised repository retags a version. This should fix that by downloading the archive for the tree directly. Note that the documentation (https://developer.github.com/v3/repos/contents/#get-archive-link) says that it should be a valid git reference, but using hashes seems to work as well. * add note to method | 09 May 2018, 11:08:46 UTC |
6bd42a4 | Kristoffer Carlsson | 07 May 2018, 10:30:55 UTC | implement instantiate (#278) can be used to instantiate a manifest without going through the resolver also, show warning in status output about non downloaded packages | 09 May 2018, 11:08:46 UTC |
e0d5ea6 | Kristoffer Carlsson | 02 May 2018, 15:35:50 UTC | no longer collect dependencies from the registry for fixed packages (#273) | 09 May 2018, 11:08:46 UTC |
76a6362 | Kristoffer Carlsson | 02 May 2018, 13:36:40 UTC | fix some printing inconsistencies (#272) * fix some printing inconsistencies | 09 May 2018, 11:08:46 UTC |
24376f8 | Kristoffer Carlsson | 26 April 2018, 13:47:45 UTC | fix pin on repo added packages (#268) * fix pin on repo added packages * more pin free fixes | 09 May 2018, 09:56:10 UTC |
a221e91 | Kristoffer Carlsson | 26 April 2018, 12:26:12 UTC | fix that adding julia as a packag was possible (#267) | 09 May 2018, 09:56:03 UTC |
4c665b7 | Milan Bouchet-Valat | 08 May 2018, 22:43:15 UTC | Deprecate linearindices in favor of LinearIndices (#26775) * Deprecate linearindices in favor of LinearIndices LinearIndices is strictly more powerful than linearindices: these two functions return arrays holding the same elements, but the former also preserves the shape and indices of the original array. Also improve docstrings. * Add efficient LinearIndices iteration * Work around invalidation and minor LinearIndices simplifications * Alternative fix using eachindex + adjust failing test * Fix accumulate/cumsum performance regression by adding getindex(::LinearIndices, ::AbstractRange) Plus two small fixes. | 08 May 2018, 22:43:15 UTC |
b19ba88 | Jarrett Revels | 08 May 2018, 15:17:50 UTC | fix isvatuple to properly handle UnionAlls (#27018) * fix isvatuple to properly handle UnionAlls * add tests for #27018 | 08 May 2018, 15:17:50 UTC |
024bfdb | Milan Bouchet-Valat | 08 May 2018, 14:00:55 UTC | Improve docstrings for vec and reshape (#27027) * Improve docstrings for vec and reshape Document mutability behavior, add examples with ranges and fix a few issues. * "in which case" | 08 May 2018, 14:00:55 UTC |
12af2d3 | Fredrik Ekre | 08 May 2018, 10:18:03 UTC | Re-enable strict=true for doc generation (#26993) * fix the last remaining doc problems * re-enable strict=true for doc build, fix #25895 | 08 May 2018, 10:18:03 UTC |
6a23130 | Fredrik Ekre | 08 May 2018, 06:05:31 UTC | Separate LibGit2.(count|map) from Base.(count|map) (#26973) * separate LibGit2.count from Base.count * separate LibGit2.map from Base.map | 08 May 2018, 06:05:31 UTC |
1feb505 | Matt Bauman | 07 May 2018, 21:45:56 UTC | Move scalar broadcast setindex_shape_check method to deprecated (#26967) * Remove unnecessary setindex_shape_check method * Ensure deprecation still works and fixup tests | 07 May 2018, 21:45:56 UTC |
49fc060 | Keno Fischer | 07 May 2018, 17:01:47 UTC | WIP: Relax restrictions on specsig for vararg | 07 May 2018, 19:55:24 UTC |
0c28685 | Keno Fischer | 07 May 2018, 19:00:12 UTC | ensure BINDIR is inferrable in __init__ (#26959) | 07 May 2018, 19:00:12 UTC |
9de318a | Valentin Churavy | 07 May 2018, 18:03:35 UTC | Merge pull request #27016 from JuliaLang/vc/libxml2 explicitly disable xml2 in LLVM | 07 May 2018, 18:03:35 UTC |
8eb3dcc | Keno Fischer | 07 May 2018, 17:01:11 UTC | Merge pull request #26990 from JuliaLang/kf/yyc/codegen/alloc2 WIP: Rebase #24478 | 07 May 2018, 17:01:11 UTC |
71f6bfe | Keno Fischer | 07 May 2018, 17:00:21 UTC | Merge pull request #26985 from JuliaLang/kf/simdloop [NewOptimizer] Make simdloop marker more robust | 07 May 2018, 17:00:21 UTC |
03b9505 | Valentin Churavy | 07 May 2018, 13:04:07 UTC | explicitly disable xml2 in LLVM | 07 May 2018, 13:04:07 UTC |
989de79 | cormullion | 07 May 2018, 12:20:05 UTC | Add examples for range() (#27012) * Add examples for range() In case I'm not the only one confused by the changes to `range()`, I'm trying to add a few examples here. | 07 May 2018, 12:20:05 UTC |
67bcb53 | Jameson Nash | 07 May 2018, 06:08:02 UTC | Profile: `callers` function does not have tests try to at least make it not completely broken, while we decide if someone will write tests to delete it | 07 May 2018, 06:08:09 UTC |
2618986 | Jameson Nash | 07 May 2018, 05:57:09 UTC | Profile: extend that speedy goodness to print(format = :flat) | 07 May 2018, 05:57:09 UTC |
f77e35e | Jameson Nash | 07 May 2018, 05:19:26 UTC | Profile: use a binary tree instead of Dict during tree construction hash(UInt64) is very slow, so this performs faster in practice | 07 May 2018, 05:24:49 UTC |
4c02a8c | Jameson Nash | 07 May 2018, 05:16:28 UTC | Profile: performance optimization for inlining chains Since Julia tends to use inlining heavily, this can have a major effect on performance by avoiding a significant percentage of Dict access calls | 07 May 2018, 05:16:28 UTC |
cb4f3f0 | Jameson Nash | 06 May 2018, 22:56:50 UTC | Profile: simplify code for making tree views reduce algorithmic complixity by using a Trie instead of a Dict, and reduce SLOC / complexity too | 07 May 2018, 04:34:45 UTC |
74af878 | Jarrett Revels | 06 May 2018, 22:14:08 UTC | [NewOptimizer] Port #26826 to new optimizer (#26981) * fix InferenceResult cache lookup for new optimizer * utilize cached vararg type info in new inlining pass * fix test to work with new optimizer * fix predicate for exploiting cached varargs type info * atypes no longer needs to be modified to match cached types * don't require varargs to be in last position to exploit cached type info * restore missing isva boolean | 06 May 2018, 22:14:08 UTC |
56d7ebe | Keno Fischer | 04 May 2018, 15:48:33 UTC | Make simdloop marker more robust Previously the simdloop marker was metadata on a random add instruction in the loop. This is problematic if that add instruction gets moved around or folded by an earlier optimization pass. Switching to using an explicit marker instruction. Eventually we should do something different here to address #26976. This just makes it more robust to make sure it keeps working with the new optimizer. | 06 May 2018, 21:59:44 UTC |
243c233 | Keno Fischer | 04 May 2018, 21:29:53 UTC | Add LLVM patch to fix getLoopID Turns out getLoopID doesn't always get what setLoopID set. I submitted a patch upstream to fix that. This carries that patch. | 06 May 2018, 21:46:18 UTC |