swh:1:snp:a72e953ecd624a7df6e6196bbdd05851996c5e40

sort by:
Revision Author Date Message Commit Date
4608aba add tracy support for inc/dec plots 03 May 2023, 14:02:56 UTC
167aba4 Count invalidations 03 May 2023, 05:22:40 UTC
bc2fa50 show line info + module in `ADD_METHOD` profiling (#49495) 27 April 2023, 05:52:23 UTC
3b993a9 AbstractInterpreter: account for overlay possibility in unanalyzed call (#49518) When we skip inference of a call on `throw` block, previously we only checked if the call is overlayed or not. But the call may call an overlayed method internally, thus we need to conservatively taint the `:nonoverlayed` bit when `interp` uses overlay method table. Nevertheless this will not introduce any regressions on GPUCompiler stack (like #48097), since it defines `InferenceParams(::GPUInterpreter)` overload to turn off `unoptimize_throw_blocks` <https://github.com/JuliaGPU/GPUCompiler.jl/blob/d5086fb3d93bbc4795a96f6f1457898af46a24cb/src/interface.jl#L272> 27 April 2023, 00:00:57 UTC
5c39e44 Merge pull request #49526 from JuliaLang/sf/fix_tracy_install Install `libTracyClient` when `WITH_TRACY` is enabled. 26 April 2023, 23:44:18 UTC
b3bbd5b Intersect: fix `intersect_tuple` for inputs with bad normalization. (#49499) 26 April 2023, 23:02:33 UTC
15663e6 Install `libTracyClient` when `WITH_TRACY` is enabled. Without this, `make install` does not bundle `libTracyClient`, which is important when trying to redistribute a build of Julia that is built with Tracy support. 26 April 2023, 21:53:46 UTC
04cb800 add some very basic documentaton about supported tracing profilers (#49520) 26 April 2023, 19:32:51 UTC
2cd0149 Lookup metadata for inlined frames for stack traces (#41099) 26 April 2023, 16:18:28 UTC
a152d11 Nospecialize close(c::Channel, excp::Exception) on excp. (#49508) * Nospecialize close(c::Channel, excp::Exception) on excp. Fixes https://github.com/JuliaLang/julia/issues/49507. Avoids dynamic dispatch when closing a Channel with an Exception, and should avoid a call into the runtime for julia compilation when attempting to report an exception. * Add test for this case. 26 April 2023, 14:55:27 UTC
3f7ae8b Add more profiling events (#49493) 26 April 2023, 14:09:52 UTC
960870e instrument `jl_load_dynamic_library` to the profiler (#49496) 26 April 2023, 07:43:59 UTC
e6b707c show the root module in tracing for __init__ as well (#49480) * show the root module in tracing for __init__ as well When a submodule is running `__init__` it can sometimes be non trivial to find out what package that module actually lives in Co-authored-by: Cody Tapscott <84105208+topolarity@users.noreply.github.com> 26 April 2023, 07:42:24 UTC
2fa6970 fix in GC chunking code (#49505) 26 April 2023, 04:14:11 UTC
b12ddca doc: manual: constructors: xref "plain data" to isbits (#49492) 25 April 2023, 23:10:37 UTC
7fc3e35 Merge pull request #49502 from JuliaLang/sf/fix_artifacts [BinaryPlatforms] Change "shortest match" algorithm to "best match" 25 April 2023, 22:20:45 UTC
bc5dd53 Rearrange allocation profiling in Julia manual (#48713) As mentioned in #48070, the allocation profiler now provides better functionality than the `--track-allocation` option. This rearranges the sections in the manual to reflect this, and adds a note to that effect. It also mentions ProfileCanvas.jl, which seems to be better supported than PProf.jl. 25 April 2023, 18:57:19 UTC
e1de57f [BinaryPlatforms] Change "shortest match" algorithm to "best match" My assertion in the previous attempt to fix this issue was incorrect: > We define a simpler match as one that has fewer tags overall. > As these candidate matches have already been filtered to match the > given platform, the only other tags that exist are ones that are in > addition to the tags declared by the platform. Hence, selecting the > minimum in number of tags is equivalent to selecting the closest match. This is demonstrably false, by my own test case: ``` platforms = Dict( Platform("x86_64", "linux") => "bad", Platform("x86_64", "linux"; sanitize="memory") => "good", ) select_platform(platforms, Platform("x86_64", "linux"; sanitize="memory")) == "good" ``` In this case, because there exists a candidate that is _more general_ than the provided platform type, the shortest match is no longer the best match. This PR performs a more rigorous matching that works more reliably in all cases. 25 April 2023, 16:46:04 UTC
3db036e [Inference] limit inference timing recording to `NativeInterpreter` only (#49391) The logic of `Core.Compiler.Timings` assumes that the whole recorded inference graph is constructed by the same interpreter, thus we should limit the inference timing recording to `NativeInterpreter` only. External `AbstractInterpreter` can implement its own recording logic, likely by reusing existing `Core.Compiler.Timings` utilities, in a way that does not interfere with the recording for native compilation pipeline. --------- Co-authored-by: Shuhei Kadowaki <aviatesk@gmail.com> 25 April 2023, 11:17:48 UTC
b291522 Subtype: minor optimization for `simple_intersect` (#49477) 1. remove duplicated disjoint check. 2. add a fast path for all disjoint case. 25 April 2023, 10:50:50 UTC
86b819c improve effects of `objectid` and `getindex(::Dict)` (#49447) This commit also marks `Module` type as `identityfree`. Co-authored-by: Shuhei Kadowaki <aviatesk@gmail.com> 25 April 2023, 06:49:15 UTC
c70e0fa remove SIGABRT from sigwait list (#49445) This already is added to the sigdie list, so on mach it was attempting to handle it in both places simultaneously. 24 April 2023, 22:47:36 UTC
2768ec5 staticdata: ensure lookup is for a Type narrower than the Method signature (#49444) The type_more_complex widening might result in a wider value here, based on the needs of inference, but we only care about the dispatch lookups that could have resulted in this particular Method before, not any other wider results. 24 April 2023, 22:47:11 UTC
cb1cc27 Merge pull request #49470 from JuliaLang/jn/morespecific-bottom reland: add morespecific rule for Type{Union{}} 24 April 2023, 22:45:14 UTC
2180db1 ensure sub-bitfield bits are always defined (#49471) Helps avoid UB or inconsistencies between Julia and C definitions. 24 April 2023, 22:44:36 UTC
8419b50 Merge pull request #49483 from JuliaLang/sf/win_hang_fix Avoid usage of `jl_error()` in `check_cmdline()` 24 April 2023, 19:13:28 UTC
fa21589 Avoid usage of `jl_error()` in `check_cmdline()` This is the same as https://github.com/JuliaLang/julia/pull/45765 where we use `jl_error()` too early to get backtraces, but too late to fail the supposed guard `if` statement that should prevent us from trying to take a backtrace. X-ref: https://github.com/JuliaLang/julia/issues/45847 24 April 2023, 18:14:45 UTC
a3cda94 Remove redundant definitions of `push!(::AbstractDict, elements...)` (#49464) 24 April 2023, 14:40:11 UTC
7f4e129 also optimize {Type{T},T} lookup Since T cannot be Union{} here, the prior optimization would not get detected post facto, but a priori this cannot be inhabited for T=Union{}, so we can exclude it immediately. This does not happen during inference, but shows up during edge validation somewhat often. 24 April 2023, 00:42:39 UTC
67aa462 add typemap filtering option for Union{} Based on the new morespecific rule for Union{} and method definitions of the specific form `f(..., Type{Union{}}, Vararg)`. If a method definition exists with that specific form, the intersection visitor will ignore all intersections that have that as their only result, saving significant effort when working with lookups involving `Type{<:T}` (which usually ended up mostly ambiguous anyways). Fixes: https://github.com/JuliaLang/julia/issues/33780 This pattern turns out to have still to been making package loading slow. We could keep adding methods following the ambiguity pattern https://github.com/JuliaLang/julia/pull/46000 for the couple specific functions that need it (constructor, eltype, IteratorEltype, IteratorSize, and maybe a couple others) so the internals can detect those and optimize functions that have that method pair. But it seems somewhat odd, convoluted, and non-obvious behavior there. Instead, this breaks all ambiguities in which Union{} is present explicitly in favor of the method with Union{}. This means that when computing method matches, as soon as we see one method definition with Union{}, we can record that the method is the only possible match for that slot. This, in essence, permits creating a rule for dispatch that a TypeVar lower bound must be strictly a supertype of Union{}, but this creates it at the function level, instead of expecting the user to add it to every TypeVar they use to define methods. This also lets us improve the error message for these cases (generally they should error to avoid polluting the inference result), since we can be assured this method will be called, and not result in an ambiguous MethodError instead! Reverts the functional change of #46000 24 April 2023, 00:42:39 UTC
44b3d2c morespecific: add rule for Type{Union{}} Make Type{Union{}} in method definitions always the most specific type (normally these would end up being ambiguous). This ensures we do not invalidate them, nor need to consider ambiguities that might arise from intersections with them. 23 April 2023, 14:35:30 UTC
7560dea update Statistics.jl Removes some overly strict `@test_throws MethodError` for calls with `Union{}` or `Any`, in preparation for making those errors more precise. 23 April 2023, 14:35:30 UTC
a34261f Add ITTAPI timing functions to JL_TIMING (#49448) 22 April 2023, 20:44:16 UTC
5ea1a41 Remove unnecessary allocation in `BitSet()` (#49461) 22 April 2023, 18:50:37 UTC
3198159 Remove unnecessary definition of `eltype(::Type{BitSet})` (#49462) 22 April 2023, 18:49:59 UTC
b1c0eac make extension not load twice on workers (#49441) 22 April 2023, 18:37:09 UTC
6b79e8c Subtype: Improve `simple_meet` resolution for `Union` inputs (#49376) * Improve `simple_meet` resolution. * Fix for many-to-one cases. * Test disjoint via `jl_has_empty_intersection` 22 April 2023, 16:59:49 UTC
4044096 Adjoint for diagonal should be lazy (#48443) 22 April 2023, 14:46:57 UTC
357bcdd annotate the signature type of the first argument of `kwcall` method (#49439) This commit annotates the signature type of the first argument of `kwcall` method as `kwargs::NamedTuple`. Previously it's annotated as `::Any` but only `NamedTuple` object is supported (and synthesized by the frontend) as the first argument to `kwcall` method. 22 April 2023, 05:09:10 UTC
57b68f2 Merge pull request #49457 from JuliaLang/revert-49349-jn/morespecific-bottom Revert "add morespecific rule for Type{Union{}}" 22 April 2023, 04:51:18 UTC
9c4724b Support and use two argument at-irrational (#46054) 22 April 2023, 00:11:31 UTC
81ae8a3 Revert "add morespecific rule for Type{Union{}}" 21 April 2023, 23:09:53 UTC
23a5b04 Add missing entry to invalidation log (#49449) * Add missing entry to invalidation log Addresses https://github.com/timholy/SnoopCompile.jl/issues/357#issuecomment-1516228631 using the observation in the following comment. Co-authored-by: Jameson Nash <vtjnash@gmail.com> * Fix indentation --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> 21 April 2023, 20:20:31 UTC
bb83df1 Make generic cholesky throw on non-psd input (#49417) 21 April 2023, 15:34:04 UTC
ecc3751 Add ITTAPI hooks to jl_mutex_wait (#49434) * Add ITT synchronization profiling calls * Init mutexes with name * Functions -> macros * remove env checking * error when both ITTAPI and DTrace are requested * Update Make.inc * Move timing functions to timing.h --------- Co-authored-by: Valentin Churavy <v.churavy@gmail.com> Co-authored-by: Valentin Churavy <vchuravy@users.noreply.github.com> 21 April 2023, 14:54:54 UTC
186634e Fix inference of one-arg `return_type` method (#49407) * Fix inference of one-arg `return_type` method `Core.Compiler.return_type` has two methods: - return_type(f, args::Type{<:Tuple}) - return_type(args::Type{<:Tuple}) Our inference code was only catching the first one. Expand it to support both. * Update test/compiler/inference.jl --------- Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> 21 April 2023, 01:12:43 UTC
f84fb5b Save a couple loads/stores in sweep pages (#49263) We did a load/store on every iteration. Keep a temporary in a register instead. It's a very small difference but it's visible in vtune. 20 April 2023, 16:52:20 UTC
1f94d2e Only add big objarray to remset once (#49315) Fixes https://github.com/JuliaLang/julia/issues/49205 20 April 2023, 16:50:26 UTC
4f035fa Make clang happy about prototype (#49443) 20 April 2023, 16:18:53 UTC
499647e inference: fix some of the edges, being created from the wrong signature (#49404) Inference should have already made this edge from this item, so we do not want to add another wider edge. Even if this target object contains some invalid code later, inference already showed that does not affect our code-paths, so we don't need or want that wide edge. 20 April 2023, 15:53:14 UTC
b27c87e avoid some more invalidations that are not necessary (#49418) Even if we have a new method that is more specific than the method it is replacing, there still might exist an existing method that is more specific than both which already covers their intersection. An example of this pattern is adding Base.IteratorSize(::Type{<:NewType}) causing invalidations on Base.IteratorSize(::Type) for specializations such as Base.IteratorSize(::Type{<:AbstractString}) even though the intersection of these is fully covered already by Base.IteratorSize(::Type{Union{}}) so our new method would never be selected there. This won't detect ambiguities that already cover this intersection, but that is why we are looking to move away from that pattern towards explicit methods for detection in closer to O(n) instead of O(n^2): #49349. Similarly, for this method, we were unnecessarily dropping it from the MethodTable cache. This is not a significant latency problem (the cache is cheap to rebuild), but it is also easy to avoid in the first place. Refs #49350 20 April 2023, 15:52:01 UTC
02b7b04 simplify Broadcast object computations (#49395) Code should normally preserve values, not the types of values. This ensures the user can define styles with metadata, and requires less type-parameter-based programming, but rather can focus on the values. 20 April 2023, 15:36:15 UTC
c237c0a subtype: replace leaf-bound typevars if they would result in Tuple{Union{}} otherwise (#49393) This was a primary motivation for #49111. Previously, we'd see some some method specializations such as `convert(::Type{T}, ::T) where T<:Float64` (apparently from inference of some tuple convert specializations), which were not necessary to have. 20 April 2023, 15:35:26 UTC
d8fb5e7 Merge pull request #49349 from JuliaLang/jn/morespecific-bottom add morespecific rule for Type{Union{}} 20 April 2023, 15:32:56 UTC
ca50706 fix regression in methods lookup (#49416) Certain queries were searching for Type{T} instead of T due to a mistaken tparam setting, resulting in missing methods in lookup. Fix #49408 Ref #48925 20 April 2023, 15:30:38 UTC
bb118c9 prevent `display` in REPL from erroring on non standard prompts (#49383) 20 April 2023, 14:50:22 UTC
c068048 Allow conversion of `AbstractQ` to `AbstractArray` (#49424) 20 April 2023, 07:50:22 UTC
dcdac1e Revert "move Pkg out of the sysimage" (#49432) 20 April 2023, 05:36:25 UTC
a6df43e remove Serialization from being stated as being a dependency of Random (#49431) It is not 20 April 2023, 05:24:10 UTC
b864999 enable loading Profile in listener even if it is not in project (#49429) 20 April 2023, 01:05:35 UTC
174e138 Revert "Guidelines for documenting usntable contributions (#49296) (#49309)" (#49427) This reverts commit b6646931b830c323fbe9598630d5716eb6066ce4. 19 April 2023, 19:21:48 UTC
dffb33b Merge pull request #49135 from JuliaLang/kc/pkg_sysimage move Pkg out of the sysimage 19 April 2023, 18:12:36 UTC
ba9c455 bump Pkg to latest version 19 April 2023, 15:06:09 UTC
b664693 Guidelines for documenting usntable contributions (#49296) (#49309) Encourage documentation of contributions that may be unstable but require explicit admonition. Also add review of "Writing Documentation" to contributors checklist 19 April 2023, 14:51:18 UTC
2eea585 redirect muladd for BigFloat to fma (#49401) A fused multiply-add is available in MPFR as `mpfr_fma` and `Base.fma` already uses it. Apart from being fused (more accurate), it's also more performant than the generic `muladd` and allocates one less temporary `BigFloat`. 19 April 2023, 14:49:10 UTC
1c6271f Reland: Improve performance of global code by emitting fewer atomic barriers. (#47636) 19 April 2023, 08:53:50 UTC
22ee089 WIP: move Pkg out of the sysimage 19 April 2023, 07:27:02 UTC
285c770 also optimize {Type{T},T} lookup Since T cannot be Union{} here, the prior optimization would not get detected post facto, but a priori this cannot be inhabited for T=Union{}, so we can exclude it immediately. This does not happen during inference, but shows up during edge validation somewhat often. 18 April 2023, 19:51:40 UTC
a08e327 add typemap filtering option for Union{} Based on the new morespecific rule for Union{} and method definitions of the specific form `f(..., Type{Union{}}, Vararg)`. If a method definition exists with that specific form, the intersection visitor will ignore all intersections that have that as their only result, saving significant effort when working with lookups involving `Type{<:T}` (which usually ended up mostly ambiguous anyways). Fixes: https://github.com/JuliaLang/julia/issues/33780 This pattern turns out to have still to been making package loading slow. We could keep adding methods following the ambiguity pattern https://github.com/JuliaLang/julia/pull/46000 for the couple specific functions that need it (constructor, eltype, IteratorEltype, IteratorSize, and maybe a couple others) so the internals can detect those and optimize functions that have that method pair. But it seems somewhat odd, convoluted, and non-obvious behavior there. Instead, this breaks all ambiguities in which Union{} is present explicitly in favor of the method with Union{}. This means that when computing method matches, as soon as we see one method definition with Union{}, we can record that the method is the only possible match for that slot. This, in essence, permits creating a rule for dispatch that a TypeVar lower bound must be strictly a supertype of Union{}, but this creates it at the function level, instead of expecting the user to add it to every TypeVar they use to define methods. This also lets us improve the error message for these cases (generally they should error to avoid polluting the inference result), since we can be assured this method will be called, and not result in an ambiguous MethodError instead! Reverts the functional change of #46000 18 April 2023, 19:51:40 UTC
6ec0a1a morespecific: add rule for Type{Union{}} Make Type{Union{}} in method definitions always the most specific type (normally these would end up being ambiguous). This ensures we do not invalidate them, nor need to consider ambiguities that might arise from intersections with them. 18 April 2023, 19:51:40 UTC
dccef3b update Statistics.jl Removes some overly strict `@test_throws MethodError` for calls with `Union{}` or `Any`, in preparation for making those errors more precise. 18 April 2023, 19:51:12 UTC
c6ed7d7 gf: add `max_varargs` field to jl_method_t (#49320) * gf: add `max_varargs` field to jl_method_t This field is currently always configured to use the existing heuristic, which is based on specializing to the max # of args appearing in other methods for the same function. This makes progress on #49172. It leaves for later: 1. Go back and change the places we manually tweak `max_args` to set `max_varargs` on the relevant method(s) instead. 2. Re-visit the original heuristic, to see if it can be better defined without "spooky action at a distance" based on other method defs. * Initialize purity bits * gf: re-factor `get_max_varargs` to separate function * Update src/gf.c * Revert "Update src/gf.c" This reverts commit a12c4f92c60ec3ca912df98864fb42ba708712c7. --------- Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> Co-authored-by: Shuhei Kadowaki <aviatesk@gmail.com> 18 April 2023, 15:24:41 UTC
1512d6f Merge pull request #49397 from JuliaLang/kf/verifycontrol irverify: Catch invalid use of Goto{IfNot, Node}, ReturnNode 18 April 2023, 04:20:34 UTC
7c80f25 irverify: Catch invalid use of Goto{IfNot, Node}, ReturnNode Referencing control flow statements in value position is illegal and will cause crashes in compilation or interpretation. Add this to the verifier, so that downstream tooling that checks for valid IR can catch this before it gets handed off to the compiler. 18 April 2023, 01:21:19 UTC
386b09f Merge pull request #49140 from topolarity/tracy-experimental profiling: add Task/GC/Inference/Codegen signposts for Tracy 17 April 2023, 23:15:00 UTC
e3ad0dd Update checksum for LBT 5.7 (#49396) 17 April 2023, 22:33:56 UTC
e998367 Clarify Cxx.jl. Update calling-c-and-fortran-code.md (#49379) * Update calling-c-and-fortran-code.md Drop mentioning Cxx.jl 17 April 2023, 21:38:37 UTC
c9407bd Update style-guide.md (#49216) * Update style-guide.md I think the term "trivial anonymous function" is more memorable than `x -> f(x)`. Co-authored-by: woclass <git@wo-class.cn> --------- Co-authored-by: woclass <git@wo-class.cn> 17 April 2023, 21:10:14 UTC
1fff026 Bump LLVM to 14.0.6-3 (#49385) 17 April 2023, 20:31:36 UTC
e08e144 Bring in newpm (new pass manager) updates to master (#47038) * Workaround missing ASAN global * Add alias analysis at O2 instead of O3 * Disable runtime unrolling * Make SimpleLoopUnswitch act like LoopUnswitch * Add --time-passes support * Only add verification passes in debug mode * Hide assertion function 17 April 2023, 19:37:59 UTC
6ac57e6 profiling: delete `JULIA_WAIT_FOR_TRACY` when pre-compiling We'll eventually want to provide some kind of useful interface to turn this on for a particular pre-compilation, but for now we should just prevent causing pre-compilation to hang forever. 17 April 2023, 16:10:52 UTC
32003af fix a minor issue with methods filtering (#49348) In rare cases, `methods` might list many ambiguous methods, because lim=-1, but there was a disambiguating method detected that fully covered all of them. This was not fully intended behavior. An example of this is: `Base.methods(eltype, (Type{<:AbstractSet},))` 17 April 2023, 14:58:19 UTC
fe2ca96 rem2pi: return argument when it is NaN (#49364) 17 April 2023, 13:41:08 UTC
837e62e Add example to be more clear about meaning of inputs (#49331) 17 April 2023, 09:26:44 UTC
78fd05a Minor `AbstractQ` audit (#49363) 17 April 2023, 09:06:53 UTC
3ce7a9b Fix TODO in IncrementalCompact's `already_inserted` (#49380) The `already_inserted` query on `IncrementalCompact` had a missing case for being called on incremental compact whose underlying IR had new nodes to be inserted. This does not happen in the base pipeline, because `already_inserted` is only used in the sroa passes, but can happen in some non-Base pipelines that run multiple rounds of sroa. 17 April 2023, 06:10:41 UTC
9071fe6 Copy slottypes in copy(::CodeInfo) (#49378) This started as #49369 where I noticed CodeInfos with corrupted slottypes, though Shuhei pointed out that Cthulhu was actually copying the slottypes itself (but other downstreams were not), so I opened https://github.com/JuliaDebug/Cthulhu.jl/pull/429. However, on second thought, it seemed unnecessary for Cthulhu to be doing the copy of the slottypes explicitly, since it was already explicitly copying the CodeInfo. Upon further inspection, it became apparent that we simply forgot to add the `slottypes` to the CodeInfo copy method. Whoops. 17 April 2023, 06:06:29 UTC
46adde9 Fix incorrect inlining location for early finalization (#49370) The early inlining of finalizer inside sroa_pass! had incorrect logic that would sometimes cause it to accidentally inline the finalizer at the beginning of the basic block of the last use, rather than after the final use. This generally happened when the final use is not in basic block that is the postdominator of all previous uses. Because this optimization is relatively conservative with respect to what may happen between the various uses, all our test cases had this property, so we didn't see it. This changed in b33a7635915f838c7e038a815a0de7a7749da616, which introduced an extra basic block in `setproperty!` causing downstream breakage. Fix the logic and add a regression test with this pattern. 15 April 2023, 20:30:55 UTC
4f9e1cb Fix open() invalid flags error reporting (#49371) Fixes #49038 15 April 2023, 16:53:16 UTC
ff7b8eb doc: Fix unclosed code fence in src/manual/methods.md (#49357) 14 April 2023, 16:29:38 UTC
b795ccf LDLT: Restrict several methods to SymTridiagonal (#49344) 14 April 2023, 16:19:49 UTC
ea5c9cb Make `normalize` work for `Number`s (#49342) 14 April 2023, 11:34:10 UTC
99c0dad Rename `ipython_mode` to `numbered_prompt` (#49314) Co-authored-by: Jeff Bezanson <jeff.bezanson@gmail.com> Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com> 14 April 2023, 05:55:31 UTC
29d1990 Add syevd LAPACK Hermitian eigensolver (#49262) * Add LAPACK cheevd and zheevd wrapper * Add interface to real symmetric eigensolver syevd 14 April 2023, 03:30:00 UTC
327da72 subtype: `simple_union` allocation optimization (#49293) 13 April 2023, 23:30:10 UTC
fdd71c7 Subtype: fix union estimation on non-type parameters. (#49345) 13 April 2023, 23:28:06 UTC
d6752eb Fix type_more_complex (#49338) * fix type_more_complex for Vararg{Tuple{}} and Vararg{Tuple} * add test for type_more_complex * Update base/compiler/typelimits.jl Co-authored-by: Jameson Nash <vtjnash@gmail.com> --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> 13 April 2023, 22:22:42 UTC
a187209 sroa_pass!: Mark statements that were updated (#49340) sroa_pass! can introduce new type information that inference did not see (e.g. when forwarding field accesses through a mutable). Currently, we just accept that in base, but there are external pass pipelines that run multiple rounds of inference and would like to refine these. Make this possible by introducing a new IR flag that sroa_pass! sets when it modifies a statement. There are currently no consumers in the Base pipeline, but the idea is that these can be passed into _ir_abstract_constant_propagation for refinement. 13 April 2023, 20:06:37 UTC
f7554b5 deps: Update openblas `.tar.gz` checksum (#49311) This was an oversight from #49283. Oops! 13 April 2023, 18:34:43 UTC
b987396 Fix doc. about linear from/to Cartesian indices (#49343) Since Julia (ordinary) arrays have 1-based indices and are in column-major order, the linear index `k` and the Cartesian index `(i,j)` of an element in a `m×n` Julia array are related by: `k = i + m*(j - 1)`. The examples of conversion between linear and Cartesian indices in the doc. use incorrect formulae although the results were correct in the specific element at `(1,3)`. This can be easily checked for other indices than `(1,3)` with a simple `2×3` array (as in the examples) built by `A = reshape(collect(1:6),2,3)`. 13 April 2023, 18:32:34 UTC
back to top