swh:1:snp:a72e953ecd624a7df6e6196bbdd05851996c5e40

sort by:
Revision Author Date Message Commit Date
729c2f9 [NewOptimizer] inlining: Refactor todo object 17 April 2018, 21:32:54 UTC
84298cb [NewOptimizer] Fix _apply elision The old optimizer had an extra loop outside the inlining pass that would turn _apply's in to regular calls. When I wrote the new inliner we discussed that this wasn't actually necessary because we could just keep track of this information in the inliner (as we do for invoke). However, that of course also means that if we can't turn something into an :invoke, we should still at least turn it into a regular call. Do that. 17 April 2018, 20:50:04 UTC
c0e6b5b Add support for Atomic{Bool} (Fix #26542). (#26597) Adds `Bool` to list of types supported by `Atomic{T}`. Defines all `atomic_*!` for `Bool`, except `atomic_add!` and `atomic_sub!` since `add(::Bool, ::Bool)` returns an `Int`. Also adds tests for those methods to `test/threads.jl`. 16 April 2018, 19:19:56 UTC
9660a30 Merge pull request #26784 from JuliaLang/jn/accelerate-iterate ensure more iterators stay type-stable 16 April 2018, 16:39:20 UTC
3180efa Remove argument restriction on dims2string and inds2string (#26799) (#26817) 16 April 2018, 16:23:52 UTC
890239f remove some unnecessary `eltype` methods (#26791) 15 April 2018, 17:04:27 UTC
8e37e1b optimize: ensure merge_value_ssa doesn't drop PiNodes 14 April 2018, 03:20:59 UTC
55cee67 inference: improve tmerge for Conditional and Const 14 April 2018, 03:20:59 UTC
ee50eee ensure more iterators stay type-stable This is a frequent performance trap. Perhaps because Tuple/NamedTuple/Pair/default-constructor usage is so much easier than `@nospecialize`. Dunno what else to do but fix them manually. 14 April 2018, 03:20:59 UTC
b6d81e3 code loading docs (#26787) 13 April 2018, 22:09:58 UTC
2eb9048 Merge pull request #26785 from JuliaLang/jn/newir-performance [newir] fix major performance issues 13 April 2018, 19:14:01 UTC
85c341c Rework replace and replace! (#26206) Introduce a new _replace!(new::Callable, res::T, A::T, count::Int) method which custom types can implement to support all replace and replace! methods automatically, instead of the current replace!(new::Callable, A::T, count::Int). This offers several advantages: - For arrays, instead of copying the input and then replace elements, we can do the copy and replace operations at the same time, which is quite faster for arrays when count=nothing. - For dicts and sets, copying up-front is still faster as long as most original elements are preserved, but for replace(), we can apply replacements directly instead of storing a them in a temporary vector. - When the LHS of a pair contains a singleton type, we can subtract it from the element type of the result, e.g. Union{T,Missing} becomes T. Also simplify the dispatch logic by introducing the replace_pairs! function. 13 April 2018, 17:48:30 UTC
cb49bef Improve documentation of const (#26749) * Improve documentation of const Current description of `const` in the manual gave an impression that `const` ensures that variable binding may not change, e.g.: > A common use of variables is giving names to specific, unchanging values. Such variables are only assigned once. This intent can be conveyed to the compiler using the `const` keyword and > Note that `const` only affects the variable binding. The proposed change describes the actual current behavior of `const`. * additional example of const 13 April 2018, 16:59:22 UTC
c149d57 Fix optional argument description (#26048) * Fix optional argument description The `parse` example used keyword argument not optional argument. * change base to Date 13 April 2018, 16:58:28 UTC
100666b [NewOptimizer] manually optimize UseRefIterator allocations eventually, we want stack-allocations to do this automatically 13 April 2018, 16:17:55 UTC
f09fb93 [NewOptimizer] backport improve inlining apply 49f70adf2022f007b93d90cbe7c0da31996a83bc to new inliner 13 April 2018, 16:17:55 UTC
af65e71 [NewOptimizer] avoid common performance traps and fix construct_domtree performance bugs 13 April 2018, 16:17:55 UTC
2233ec4 Deprecate similar(f, …) in favor of just dispatching directly on f(…) (#26733) Remove AbstractArray constructors; just use dispatch on functions Make compiler test use a local function that has the known properties that we want to test. The important thing is not necessarily zeros -- it is a relatively complex function. The `Base.zeros` method tree temporarily breaks this test due to its numerous deprecations, but this will be resolved in the future. 13 April 2018, 15:28:08 UTC
f82eb5b Merge pull request #26800 from bkamins/indexing_error Distinguish getindex/setindex! error message 13 April 2018, 14:33:48 UTC
8d8655d Distinguish getindex/setindex! error message 13 April 2018, 10:06:12 UTC
d63b203 fix #26777, echo server example in manual (#26794) 13 April 2018, 02:20:07 UTC
c45bbde Fix signif deprecation (#26780) 12 April 2018, 23:46:22 UTC
52f27a7 add StringIndexError documentation (#26747) 12 April 2018, 23:44:41 UTC
a3bf547 Fix sentence style in docs (#26746) 12 April 2018, 23:43:30 UTC
f995cea Update Strings section of the documentation (#26736) Changes: * correct description of `b"..."` construct; * correct the fact that now Julia allows invalid string literals; * add reference to `ncodeunits` and `codeunit` function; 12 April 2018, 23:42:49 UTC
e3e5097 add keys for SimpleVector (#26711) 12 April 2018, 23:30:56 UTC
6fe64fe check process type while getting bind address (#26704) fixes #26699 12 April 2018, 23:29:33 UTC
3666ffa A few more #26670 fixes (#26773) Fixes BigFloat digit rounding (https://github.com/JuliaIO/Formatting.jl/pull/56). I've also tweaked the definitions to make it easier to extend to new number formats. 12 April 2018, 19:02:43 UTC
d1ee03f Revert "deprecate using the value of `.=`. fixes #25954" (#26754) This reverts commit f4a2bc8753335c577bd23dc1dcc432ee5aef2439. 12 April 2018, 18:39:31 UTC
1508942 change dim arguments for `diff` and `unique` to keyword args (#26776) 12 April 2018, 18:32:59 UTC
4131580 reorder pmap arguments to allow do-block syntax (#26783) 12 April 2018, 18:32:20 UTC
1e08aae correct deprecated parametric method syntax (#26789) 12 April 2018, 15:54:21 UTC
b010e70 Merge pull request #26782 from JuliaLang/jn/newir-loc [new IR] line numbers 11 April 2018, 19:37:14 UTC
77b65d5 [NewOptimizer] handle new IR nodes correctly in binary format 11 April 2018, 17:10:41 UTC
a50ba6f [NewOptimizer] support line number emission from new IR format However, there seems to be a bug in the new-IR inliner, where it is failing to correctly unique the linetable contents, which wastes memory and may lead to mistakes here. 11 April 2018, 17:03:21 UTC
ae59892 fix #26453, require obviously-concrete lower bound for a var to be diagonal (#26567) 11 April 2018, 15:42:23 UTC
18ac6e6 Merge pull request #26755 from JuliaLang/kf/liftselect Also lift SelectInst addrspaces 10 April 2018, 22:31:41 UTC
bc219ed fix #26743, spurious `return` path in try-finally in tail position (#26753) 10 April 2018, 19:41:47 UTC
89d2397 Fix deprecation warning in base/loading (#26762) 10 April 2018, 15:47:52 UTC
4984321 Fix a few errors from #26670 (#26760) e.g. https://github.com/JuliaLang/julia/pull/26670#issuecomment-379766088 10 April 2018, 15:17:43 UTC
c3730bb Merge pull request #26768 from JuliaLang/kc/bump_pkg3_5 Bump Pkg3 10 April 2018, 14:08:14 UTC
0dd1750 fix a doctest type (no ending quotes) (#26769) 10 April 2018, 13:26:38 UTC
3e0eb23 bring back LibGit2 docs (#26766) 10 April 2018, 12:38:35 UTC
dbe17d1 Update SHA (#26758) * allow AbstractVector{UInt8}, make fewer copies * rm newline 10 April 2018, 12:38:03 UTC
fa8a367 small bugfix with version handling (#247) 10 April 2018, 10:28:19 UTC
1d8719e use Project to find dependencies for packages with projects (#246) 10 April 2018, 10:28:15 UTC
9afe0ba check Project file for dependencies in dependencies with a path entry (#245) 10 April 2018, 10:28:10 UTC
1cf5509 build new packages added from git 10 April 2018, 10:28:06 UTC
175bde2 Slightly relax GraphType.check_constraints (#242) cf. discussion in #228 10 April 2018, 10:28:01 UTC
b461e67 Avoid overwriting user-defined settings in REPL (#243) 10 April 2018, 10:27:57 UTC
000f243 Merge pull request #26697 from JuliaLang/tb/log_after_exit Enable logging after exit with atexit hook. 10 April 2018, 06:39:40 UTC
4653894 runtime-cfunction: allocate gc-permgen object correctly (#26732) 10 April 2018, 04:01:38 UTC
cfe4f09 Merge pull request #26738 from JuliaLang/kf/ssafixup [NewOptimizer] Various misc bugfixes 09 April 2018, 20:52:15 UTC
75fcbd0 Teach at-dot about chained comparisons (#26721) * Teach at-dot about chained comparisons Fixes #23622. `@. 1 < A < 2` now works as expected. * Prevent double-dotting and add test * Also ensure that the comparison ops are symbols * Also check isoperator(arg) 09 April 2018, 19:51:23 UTC
14e9c42 Also lift SelectInst addrspaces This is a followup to #26668, and performs the same operation, but for `select` instructions rather than for phi nodes. Came up when looking at IR generated by the new optimizer for kf/iterate. 09 April 2018, 18:06:00 UTC
3f62433 fix call to `isoperator` in show of unary call expressions (#26734) introduced by #26723 09 April 2018, 17:25:48 UTC
b08c262 Merge pull request #26005 from JuliaLang/cjf/logging-docs Documentation for the Logging stdlib 09 April 2018, 13:13:15 UTC
40c230c Clarify handling of message argument. [ci skip] 09 April 2018, 13:11:12 UTC
f659d5d REPL: add option to disable auto-indent feature (#26605) 09 April 2018, 08:06:11 UTC
4d18139 Add a test. 09 April 2018, 07:31:21 UTC
3a818e3 Enable logging after exit with atexit hook. Fixes #26687 09 April 2018, 07:19:34 UTC
94a1d78 Add docs on #26265. 09 April 2018, 07:08:24 UTC
22d570b Grammar tweaks and other small fixes Remove default implementations for shouldlog and min_enabled_level as these seem more likely to cause confusion than be useful. 09 April 2018, 06:55:06 UTC
8f7d69d Documentation for the Logging stdlib 09 April 2018, 06:55:06 UTC
bde5344 Merge pull request #26265 from JuliaLang/jn/logging-by-env Logging: enable configuration via ENV 09 April 2018, 06:50:29 UTC
12da57f Merge pull request #26751 from JuliaLang/kf/select_valuefix Fix specialized select_value codegen 09 April 2018, 03:05:08 UTC
8fc98ea Extend undef code to all cases There's more cases where we need to have the value behave as if it was an SSA undef. Simply extend the code we have here to all such cases. 09 April 2018, 01:02:17 UTC
a3f3646 Add missing nospecialize 08 April 2018, 23:17:20 UTC
32965bc Fix specialized select_value codegen When inference sees something like: ``` select_value(true, 1::Int, 1.0::Float64) ``` it knows that the condition is constant and can thus conclude that the result is of `Int` type. Generally, we would fold this away in inlining. However, if inlining is disabled for whatever reason. We can end up with ``` select_value(true, 1::Int, 1.0::Float64)::Int ``` in codegen. After the recent enhancements to select_value and without this patch, this would cause an unconditional trap to be generated as it tried to convert 1.0 to `Int`. This patch instead makes sure that the branches of the select have non-empty intersection with the annotated result type before attempting the conversion, thus preventing this case from crashing. 08 April 2018, 23:01:58 UTC
7c24609 Merge pull request #26698 from vchuravy/vc/convinience Making working with LLVM a bit more convenient 08 April 2018, 17:02:41 UTC
a2f805e Merge pull request #26674 from JuliaLang/vc/llvm6-patches2 update patch list for LLVM 6 08 April 2018, 17:01:59 UTC
280539d Fix some try/catch issues 07 April 2018, 22:14:58 UTC
a96d847 Merge pull request #26742 from JuliaLang/kf/fixdotfastpath Fix dot-evaluation fast path 07 April 2018, 21:52:21 UTC
c582c34 Merge pull request #26735 from JuliaLang/kf/ssawip [NewOptimizer] Correctly handle new-style IR in interpreter 07 April 2018, 20:56:36 UTC
8316172 Fix partially specified phinodes of bits types 07 April 2018, 20:28:04 UTC
e2823ee Fix dot-evaluation fast path Broadcast calls like `sin.(x)` are parsed to Expr(:(.), :sin, Expr(:tuple, :x)) before lowering. As a result, they got caught in the top-level interpreters fast path for lowering calls like that to getfield/getproperty, causing #26739. Fixes 26739 07 April 2018, 18:52:24 UTC
ca0de70 Correctly handle new-style IR in optimizer 06 April 2018, 20:48:19 UTC
a8c6376 [NewOptimizer] A couple of fixes that got accidentally dropped 06 April 2018, 20:12:56 UTC
98b1206 Improve documentation of parsing of triple quotes (#25594) 06 April 2018, 19:49:49 UTC
c2c83e6 Clarification of repeated keyword argument rule (#26051) 06 April 2018, 19:49:11 UTC
59eae7d Combine `signif` into round, use keyword args for digits/sigdigits (#26670) 06 April 2018, 18:20:40 UTC
ff7b645 fix variable bounds consistency checks in subtyping (#26718) fixes #26129, fixes #24748 06 April 2018, 17:16:25 UTC
c19fc91 Merge pull request #26719 from JuliaLang/sb/windownload check for powershell version in download 06 April 2018, 16:28:43 UTC
11e4535 Merge pull request #26723 from JuliaLang/jb/fix26717 fix #26717, deparse of `:(:)` 06 April 2018, 16:27:35 UTC
9a0864e Logging: enable configuration via ENV This restores the functionality we had previously to set JULIA_DEBUG_LOADING=1 to activate logging; now the equivalent would be to set JULIA_DEBUG=loading. But with the new infrastructure, this is also generalized to allow filtering on any key (module, root-module, or filename), or "all". This sits between the global disable (which still provides a fast-path to skip everything), and the default min-level for a logger (which will be overridden by the environment variable). This also tries to move a bit more work into non-inlined helper functions, rather than inlining that code directly, to slightly reduce the size of the emitted code. As a possible future improvement, we could allow specifying specific levels (such as `loading=MaxLevel` or `all=Debug`), to provide even more fine-grained control. fix #25549 06 April 2018, 16:22:36 UTC
b89e012 Merge pull request #26628 from JuliaLang/jn/typelimits inference: remove MAX_TYPE_DEPTH limit, rewrite tmerge 06 April 2018, 16:21:43 UTC
c960f18 Merge pull request #26668 from JuliaLang/kf/addrspacephi Handle PHI nodes in address space propagation 06 April 2018, 16:20:44 UTC
59bffa5 Merge pull request #26726 from JuliaLang/kf/ssaexc [NewOptimizer] Handle exceptions in new IR 06 April 2018, 16:18:56 UTC
16e4f85 make skipping stdlib tests work (#26700) * make skipping stdlib tests work * also allow filtering of test groups in stdlibs * make ambiguous run first * Symbol -> String in errorshow 06 April 2018, 14:41:07 UTC
209a8f5 add test for #18109: findlast with unicode (#26710) * add test for #18109: findlast with unicode 06 April 2018, 14:15:01 UTC
6569fd0 Update index.md: typo that negates logic (#26727) 06 April 2018, 09:13:38 UTC
de26816 Merge pull request #26696 from JuliaLang/kc/bump_pkg3_4 Bump Pkg3 06 April 2018, 06:54:16 UTC
15acf6f remove remains of old LLVM buildsystem 06 April 2018, 03:26:50 UTC
f59a833 Merge pull request #26720 from JuliaLang/vc/clang_patch add clang part of D28476 06 April 2018, 03:12:04 UTC
7ddc02d Add some docs on the new nodes 05 April 2018, 23:32:20 UTC
4577c0f Handle PHI nodes in address space propagation Until now the IR we emitted did not have any PhiNodes of addrspaced pointers. However, the new optimizer will introduce these. Not being able to propagate address spaces across them was causing significant poblems for LLVM's SROA pass. Teach the pass to handle them. 05 April 2018, 22:51:56 UTC
4ef8360 Move new node exports Core -> Core.IR 05 April 2018, 21:39:32 UTC
2394213 ssair: another bug ``` julia> iterate(t::Tuple, i=1) = (i > length(t) ? nothing : (t[i], i+1)) julia> function any_iterate(f, y) st = iterate(y) while !(st === nothing) f(st[1]) && return true st = iterate(y, st[2]) end return false end julia> code_typed(any_iterate, typeof((x -> :c == x, (:a, :b)))) ``` 05 April 2018, 21:24:25 UTC
10776d9 ssair: fix misc bugs, improve printer 05 April 2018, 21:24:25 UTC
5bb3290 Add reverse affinity flag for compaction 05 April 2018, 21:23:00 UTC
back to top