9ab2caf | Keno Fischer | 05 October 2018, 18:11:53 UTC | PartialTuple support in getfield tfunc | 05 October 2018, 18:11:53 UTC |
6e7a9e9 | Keno Fischer | 05 October 2018, 17:48:56 UTC | Don't eliminate PiNodes for mismatched types E.g. if we had `PiNode(1, CartesianIndex)`, we would eliminate that because `1` was a constant. However, leaving this in allows the compiler to realize that this code is unreachable, as well as guarding codegen against having to wrok through invalid IR. | 05 October 2018, 17:48:56 UTC |
17aa232 | Jarrett Revels | 05 October 2018, 02:47:24 UTC | do not widenconst PartialTuple return types unless necessary for cache validity | 05 October 2018, 02:47:24 UTC |
73e761e | Jarrett Revels | 05 October 2018, 02:46:33 UTC | add needed widenconst to various typeintersect calls | 05 October 2018, 02:46:33 UTC |
1aa26f0 | Keno Fischer | 04 October 2018, 22:56:35 UTC | Turn some asserts into runtime traps instead Unfortunately, we cannnot always rely on :invokes to have argument values that match the declared ssa types (e.g. if the :invoke is dynamically unreachable). Because of that, we cannot assert here, but must instead emit a runtime trap. | 04 October 2018, 22:56:35 UTC |
c75af8b | Jarrett Revels | 03 October 2018, 21:27:40 UTC | refactor inference result cache lookup to better respect argtype transformations | 03 October 2018, 23:38:33 UTC |
2a5629f | Jarrett Revels | 28 September 2018, 21:24:05 UTC | add TODO | 03 October 2018, 21:59:26 UTC |
e46071c | Jarrett Revels | 26 September 2018, 16:34:20 UTC | exploit PartialTuples in typeof_tfunc | 03 October 2018, 21:59:26 UTC |
6c2082d | Jarrett Revels | 25 September 2018, 13:39:57 UTC | add another test | 03 October 2018, 21:59:26 UTC |
d78a03d | Jarrett Revels | 25 September 2018, 13:25:12 UTC | minor cleanup | 03 October 2018, 21:59:26 UTC |
d9a4de6 | Jarrett Revels | 25 September 2018, 00:29:26 UTC | revert sketchy cache refactor | 03 October 2018, 21:59:26 UTC |
6afb40e | Jarrett Revels | 25 September 2018, 00:29:11 UTC | fix off-by-one error | 03 October 2018, 21:59:26 UTC |
343aed1 | Jarrett Revels | 24 September 2018, 23:20:07 UTC | better cache matching for const args case | 03 October 2018, 21:59:26 UTC |
0e338a8 | Jarrett Revels | 24 September 2018, 23:08:40 UTC | factor shared predicate into utility function | 03 October 2018, 21:59:26 UTC |
78a3f84 | Jarrett Revels | 24 September 2018, 23:08:05 UTC | factor non-loop work out of loop (for clarity, not performance) | 03 October 2018, 21:59:26 UTC |
2c69c78 | Jarrett Revels | 24 September 2018, 22:10:35 UTC | more asserts [ci skip] | 03 October 2018, 21:59:26 UTC |
4bac018 | Jarrett Revels | 24 September 2018, 21:33:23 UTC | only check varargs for potential cache match if other args matched | 03 October 2018, 21:59:26 UTC |
b45539c | Jarrett Revels | 24 September 2018, 21:32:11 UTC | factor out reused predicate | 03 October 2018, 21:59:26 UTC |
a15e391 | Jarrett Revels | 24 September 2018, 19:41:53 UTC | split up InferenceResult argtypes computation for better cache correctness [ci skip] | 03 October 2018, 21:59:26 UTC |
6269c2c | Jarrett Revels | 21 September 2018, 20:06:10 UTC | fix some over constrained type info | 03 October 2018, 21:59:25 UTC |
2a88e3c | Jarrett Revels | 19 September 2018, 20:43:37 UTC | add test | 03 October 2018, 21:59:25 UTC |
9388d51 | Jarrett Revels | 19 September 2018, 20:39:29 UTC | remove incorrect short circuit | 03 October 2018, 21:59:25 UTC |
58e74e0 | Jarrett Revels | 19 September 2018, 20:28:34 UTC | tighter PartialTuple element type when element is Const Type | 03 October 2018, 21:59:25 UTC |
d09bf6d | Jarrett Revels | 17 September 2018, 21:16:16 UTC | fix typo | 03 October 2018, 21:59:25 UTC |
fa8f949 | Jarrett Revels | 01 September 2018, 19:27:24 UTC | fix tuple_tfunc caller | 03 October 2018, 21:59:25 UTC |
c9a3e83 | Jarrett Revels | 01 September 2018, 17:35:55 UTC | allow passage of caller's argtypes into InferenceResult constructor to improve consistency between constructor and cache (instead of the caller handling this themselves by modifying the InferenceResult after construction) [ci skip] | 03 October 2018, 21:59:25 UTC |
7ceee6e | Jarrett Revels | 30 August 2018, 17:38:06 UTC | clearer names for various InferenceResult things [ci skip] | 03 October 2018, 21:59:25 UTC |
c7b049d | Jarrett Revels | 29 August 2018, 22:25:35 UTC | WIP add lattice element for Tuples | 03 October 2018, 21:59:25 UTC |
a984ad0 | Sam O'Connor | 03 October 2018, 21:45:04 UTC | Fix #29451: parse(Int, s::AbstractString) when ncodeunits(s) > lastindex(s) (#29465) | 03 October 2018, 21:45:04 UTC |
6eb4921 | Keno Fischer | 22 September 2018, 21:52:24 UTC | Use recursion rather than iteration for error check in uncolon Inference has an easier time analyzing recursion (esp if structural over tuples) than iteration, which is why the rest of this function is using recursion. With sufficient inlining, LLVM does generally get rid of the extra error check and branch, but by switching to recursion, we make things easier on non-LLVM backends. | 03 October 2018, 20:50:23 UTC |
ea16391 | Jeff Bezanson | 03 October 2018, 20:12:45 UTC | fix #29468, bug in intersection of different-length vararg tuples (#29487) | 03 October 2018, 20:12:45 UTC |
37dc16e | Bogumił Kamiński | 03 October 2018, 18:41:36 UTC | correct language in documentation (#29502) | 03 October 2018, 18:41:36 UTC |
db100ad | Keno Fischer | 26 September 2018, 00:32:21 UTC | More robust show for invalid CFG Despite the fact that the compiler should never generate invalid data structures, it is a good practice for the show functions to be able to handle these and indicate what the problem is. In this case, if the IR has more instructions than its supposed to according to the CFG, put all trailing instructions into a "!" basic block to indicate an error. | 03 October 2018, 18:09:21 UTC |
590ee83 | Keno Fischer | 15 September 2018, 19:12:47 UTC | Align StmtRange field names with UnitRange | 03 October 2018, 18:09:21 UTC |
434c065 | Jeff Bezanson | 03 October 2018, 17:06:32 UTC | move 1.0 news to HISTORY file; prepare NEWS file for 1.1 (#29490) [ci skip] | 03 October 2018, 17:06:32 UTC |
a897365 | Fredrik Ekre | 03 October 2018, 14:45:26 UTC | Upgrade to new Documenter. (#29470) | 03 October 2018, 14:45:26 UTC |
a9550d5 | Marisuf | 03 October 2018, 13:47:19 UTC | Removed unnecessary extra line (#29476) Line 73 cleared. | 03 October 2018, 13:47:19 UTC |
4412dd4 | Keno Fischer | 02 October 2018, 19:03:41 UTC | Add an option to disable building libssh2 tests These fail to build if mbedtls is not available in the global linker search path. Add a simple flag to disable them, since we don't use them. | 03 October 2018, 01:06:14 UTC |
59b6645 | Keno Fischer | 02 October 2018, 19:00:41 UTC | Still set rpath-link in RPATH_ESCAPED_ORIGIN We use this setting for linking curl, which itself needs to find libssh2 and mbedtls. However, while curl will indeed eventually be in the same directory as these two libraries, it is not during linking, causing link failures (unless we happen to have global copies of the same libraries that the linker can pick up). Add an rpath-link command with the absolute path to our library directory to make sure the dependent libraries get picked up at link time. | 03 October 2018, 01:06:14 UTC |
b0a37b5 | Takafumi Arakaki | 02 October 2018, 22:08:25 UTC | Document scripting tips (#29423) | 02 October 2018, 22:08:25 UTC |
1f0f40f | Jeff Bezanson | 02 October 2018, 21:54:26 UTC | rm redundant `show` method for Enum types (#29460) | 02 October 2018, 21:54:26 UTC |
39117c9 | David PĂ©rez-SuĂ¡rez | 02 October 2018, 16:45:30 UTC | tiny formatting fix on docs (#29463) C and Julia code were inside the same code block | 02 October 2018, 16:45:30 UTC |
dee7d77 | DragonXDoom | 02 October 2018, 16:08:19 UTC | Closed issue #29454 (#29475) Changed `String` to `BitSet` as a `mutable struct` example. | 02 October 2018, 16:08:19 UTC |
50e9275 | Lyndon White | 02 October 2018, 16:07:29 UTC | fix unusual line spacing (#29474) | 02 October 2018, 16:07:29 UTC |
18652ea | Tanmay Gupta | 02 October 2018, 16:06:48 UTC | updated README.md (#29473) | 02 October 2018, 16:06:48 UTC |
9705c96 | Bogumił Kamiński | 02 October 2018, 14:48:03 UTC | add elseif to reserved-words (#29222) | 02 October 2018, 14:48:03 UTC |
d769ad2 | Valentin Churavy | 02 October 2018, 12:41:41 UTC | Merge pull request #13099 from JuliaLang/jn/no_copy_stacks no-copy stacks | 02 October 2018, 12:41:41 UTC |
a2df80e | Simon Byrne | 01 October 2018, 20:36:40 UTC | Don't error on help for keyword functions (#29308) Fixes #23991. Also allows for help where some arguments are undefined. | 01 October 2018, 20:36:40 UTC |
29b780e | Mark | 01 October 2018, 18:39:47 UTC | Improved English and egs (#29281) Improved English and egs The examples starting around line 80 showing how to create arrays with dimensions are unhelpful because in every case the dimensions are 2x2 so people don't get any sense of which dimension is which. So I've changed them all to 2x3 which doesn't take up any more vertical space but makes it much clearer which dimension is which. I don't like the Comprehensions example because the expression is much too complicated: the idea is to show comprehensions, so I think the expression should be a lot simpler. I changed the `searchsorted` eg to make the searched for number different from all the others to improve clarity. | 01 October 2018, 18:39:47 UTC |
2460b57 | jaakkor2 | 01 October 2018, 17:42:35 UTC | win,init: if stdio is not available, do not exit (#29374) Fix #28820 | 01 October 2018, 17:42:35 UTC |
e721d35 | Jameson Nash | 01 October 2018, 15:53:31 UTC | slightly faster String allocation (#29254) Only a few % saved, but it essentially removes the cost of computing the sizeclass, so this should save on processor resources (frontend, BTP) also. And it makes the computation correct (previously the cutoff was slightly offset, so it would switch to the next larger size-class at 609 instead of at 624, for example). | 01 October 2018, 15:53:31 UTC |
61696f9 | Jameson Nash | 01 October 2018, 15:21:05 UTC | Merge pull request #29262 from JuliaLang/jn/interpret-phi interpreter: fix bugs with ssair phi-node handling | 01 October 2018, 15:21:05 UTC |
4851fab | Katharine Hyatt | 01 October 2018, 13:53:53 UTC | Merge pull request #29376 from JuliaLang/ksh/improvar Some improvements to variables and scoping manual | 01 October 2018, 13:53:53 UTC |
391f2dd | Valentin Churavy | 01 October 2018, 00:58:50 UTC | Merge pull request #29446 from eli-schwartz/system-nondefault-llvm build: work correctly when linking to a system llvm which is not the default | 01 October 2018, 00:58:50 UTC |
f07d461 | Keno Fischer | 21 September 2018, 19:39:56 UTC | Allow eliminating nothrow intrinsics during optimization | 30 September 2018, 23:59:04 UTC |
d1fab72 | Eli Schwartz | 30 September 2018, 19:30:53 UTC | build: work correctly when linking to a system llvm which is not the default It's erroneous to assume hardcoded -lLLVM works, when it will either not exist, or exist and be a symlink to -lLLVM-6.0, or exist and be a symlink to a completely invalid -lLLVM-7 Instead, use llvm-config for what it's meant to do, and acquire the linker --libs. In one case this means we can simplify on --libfiles rather than --libdir plus appending some hardcoded strings, and in another case we can simply drop a huge, confusingly repetitive invocation which was meant to work around very old llvm versions that are no longer supported. | 30 September 2018, 19:30:53 UTC |
ebfbe62 | Keno Fischer | 22 September 2018, 19:33:15 UTC | Add test for eliminating apply_type/TypeVar | 30 September 2018, 17:33:18 UTC |
8fa5296 | Keno Fischer | 22 September 2018, 18:44:20 UTC | Make TypeVar constructor a builtin Or more precisely make a builtin-equivalent of jl_new_typevar. This allows us to give it a proper nothrow tfunc, thus letting us eliminate it if it is not otherwise used. | 30 September 2018, 17:33:18 UTC |
f81749f | Keno Fischer | 22 September 2018, 18:05:42 UTC | Make apply_type nothrow tfunc more aggressive | 30 September 2018, 17:33:18 UTC |
2c86c1f | Adam B | 30 September 2018, 08:21:40 UTC | Remove link missed in #26432 (#29434) | 30 September 2018, 08:21:40 UTC |
4d06e00 | Valentin Churavy | 30 September 2018, 01:52:30 UTC | Merge pull request #29325 from JuliaLang/vc/restored check return from jl_restore_incremental correctly | 30 September 2018, 01:52:30 UTC |
f7f87c2 | Jameson Nash | 29 September 2018, 22:36:48 UTC | intrinsic casts: perform error checking (#29422) previously, we just let LLVM abort (even though this could potentially happen in dead-code). | 29 September 2018, 22:36:48 UTC |
8907aff | John Myles White | 29 September 2018, 19:21:09 UTC | Fix sentence fragment (#29431) Move whereas clause into subordinate position to avoid sentence fragment. | 29 September 2018, 19:21:09 UTC |
f42f7b7 | Jeff Bezanson | 29 September 2018, 19:20:25 UTC | fix #20872, handle UnionAll types in `which` (#29419) | 29 September 2018, 19:20:25 UTC |
9454c8d | Daniel Karrasch | 29 September 2018, 18:38:47 UTC | stdlib/SparseArrays: add rmul! and lmul! of sparse matrix with Diagonal (#29296) * Add rmul! and lmul! of sparse matrix with Diagonal | 29 September 2018, 18:38:47 UTC |
201cba5 | Valentin Churavy | 29 September 2018, 14:01:36 UTC | Merge pull request #29341 from JuliaLang/sf/llvm_wasm Add `LLVM_EXPERIMENTAL_TARGETS` and default it to `WebAssembly` | 29 September 2018, 14:01:36 UTC |
75f798f | Patrick Kofod Mogensen | 29 September 2018, 13:17:09 UTC | Change from parametric T signature to Int32 in _ldexp_exp (#29401) __ldexp_exp(f) requires the second argument to be an Int32, so we might as well hard-code that here. It also seems that the old specification is actually not valid, or might have unexpected results, so we should just go with Int32, see #29400 . | 29 September 2018, 13:17:09 UTC |
3b3a163 | Tanmay Mohapatra | 28 September 2018, 20:17:22 UTC | avoid file ownership requirement in touch (#28819) Using `futimes` and passing NULL for the `times` parameter sets the current and access file times, but does not require file ownwership. From man page: > If times is NULL, the access and modification times are set to the current time. The caller must be the owner of the file, have permission to write the file, or be the superuser. | 28 September 2018, 20:17:22 UTC |
39f2561 | Jameson Nash | 26 September 2018, 18:53:07 UTC | interpreter: implement PhiC/Upsilon node handling | 28 September 2018, 18:43:18 UTC |
7638cb3 | Jameson Nash | 25 September 2018, 20:52:57 UTC | interpreter: redesign phi-node handling it is not valid to treat these like statements, since they are actually arguments to the basic block it turns out to be a bit hard to deal with this particular representation of phi nodes in an interpreter, since the information is spread out across multiple statements and could pop up at any time, but with some care, it is possible. we just need to be careful to process phi nodes as a block, and taking care to look for implicit edges. fix #29342 | 28 September 2018, 18:43:18 UTC |
e2fb8d6 | Jameson Nash | 12 September 2018, 16:05:19 UTC | interpreter: fix bug with ssair phi-node handling | 28 September 2018, 18:43:18 UTC |
f93c6ef | Jameson Nash | 26 September 2018, 22:28:32 UTC | improve compiler performance somehow these were missed in the last round of `nospecialize` annotations in this file, but these are also very important for compiler performance (especially as we have now been adding more places where we inspect tuples with this method) | 28 September 2018, 18:43:18 UTC |
e1f42b1 | Rafael Fourquet | 28 September 2018, 17:52:46 UTC | fix `sizeof(str::AbstractString)` docstring (#29414) | 28 September 2018, 17:52:46 UTC |
6794778 | Jeff Bezanson | 28 September 2018, 17:51:02 UTC | fix #29208, incorrect `Union{}` result from type intersection (#29380) also fixes #29357 | 28 September 2018, 17:51:02 UTC |
bc34c64 | Rafael Fourquet | 28 September 2018, 17:48:58 UTC | improve findnext/findprev docstring for strings (#29415) | 28 September 2018, 17:48:58 UTC |
ba41f69 | Rafael Fourquet | 28 September 2018, 17:48:39 UTC | doc: fix not-true-anymore example with promote_rule (#29416) | 28 September 2018, 17:48:39 UTC |
47668c8 | laborg | 27 September 2018, 20:57:15 UTC | Remove docstring relicts of findlast/findprev for regex (#29398) | 27 September 2018, 20:57:15 UTC |
8d5c109 | Mark | 27 September 2018, 15:17:51 UTC | Minor English fixes/improvements (#29391) | 27 September 2018, 15:17:51 UTC |
da964d6 | Alex Arslan | 26 September 2018, 21:54:19 UTC | Add SHA to UUIDs dependencies in Project.toml (#29375) A dependency on SHA was added to UUIDs in #28761 but the Project.toml was not updated to reflect that, resulting in warnings while building Julia. | 26 September 2018, 21:54:19 UTC |
4020729 | Katharine Hyatt | 26 September 2018, 18:26:44 UTC | Some improvements to variables and scoping manual | 26 September 2018, 18:26:44 UTC |
8eca2c2 | Mathieu Besançon | 26 September 2018, 17:58:59 UTC | UUIDs: add uuid5 function (#28761) This function matches Python and Rust behavior but does not match the `uuidgen` command-line tool. | 26 September 2018, 17:58:59 UTC |
493068b | Jeff Bezanson | 26 September 2018, 17:03:57 UTC | fix crash when interpreting optimized top-level expressions (#29217) | 26 September 2018, 17:03:57 UTC |
48f53d5 | Kristoffer Carlsson | 26 September 2018, 15:15:38 UTC | Pkg don't use startup.jl when building and testing (#29364) * don't use startup.jl when precompiling, building and testing (#470) unless the user has explicitly asked for it with --startup-file=yes (cherry picked from commit 40d7f27f2ff08ec466df536f267129a9f5e950b4) * do not precompile packages that have opt out to precompilation (cherry picked from commit 57f7380a2641944be12695e92a3ad9f4cc20e6f2) | 26 September 2018, 15:15:38 UTC |
7698523 | Martin Holters | 26 September 2018, 13:56:48 UTC | Fix `big(typemin(T))` (#29340) | 26 September 2018, 13:56:48 UTC |
8d6c1ce | Jeff Bezanson | 25 September 2018, 21:45:45 UTC | always obey inline declarations if the calling signature is concrete (#29258) This implements the suggestion in https://github.com/JuliaLang/julia/pull/27857#issuecomment-421109530 | 25 September 2018, 21:45:45 UTC |
48f5bb3 | Jeff Bezanson | 25 September 2018, 21:40:45 UTC | fix #29326, return type lowering interfering with closure optimization (#29346) | 25 September 2018, 21:40:45 UTC |
82503cd | Elias Jarlebring | 25 September 2018, 07:47:39 UTC | Fix: Complex SubArray times real Matrix (#29246) * gemm_wrapper! -> mul! (#29224) * testing for #29224 * code review update: More tests * Complex times real reinterpret trick fix for vectors and transposed matrices | 25 September 2018, 07:47:39 UTC |
94aa39b | Mark | 25 September 2018, 06:38:41 UTC | Minor English fixes in constructors.md (#29338) | 25 September 2018, 06:38:41 UTC |
993e7d7 | Kristoffer Carlsson | 25 September 2018, 06:36:35 UTC | avoid conversion from Char to String to Symbol in some LinearAlgebra routines (#29352) | 25 September 2018, 06:36:35 UTC |
c37f4aa | Katharine Hyatt | 25 September 2018, 06:35:36 UTC | Backticks and xrefs (#29349) | 25 September 2018, 06:35:36 UTC |
0b5e21c | Katharine Hyatt | 25 September 2018, 06:34:49 UTC | Some misisng paren and xrefs (#29351) | 25 September 2018, 06:34:49 UTC |
f2ad009 | Alex Arslan | 25 September 2018, 04:10:44 UTC | Add missing test dependencies to SparseArrays Project.toml (#29354) The tests use InteractiveUtils but it is not listed as a test dependency in the SparseArrays Project.toml file. This is causing SparseArrays to fail its tests when run on NewPkgEval, which means every package that uses SparseArrays gets their tests skipped. | 25 September 2018, 04:10:44 UTC |
2a35981 | Pablo Zubieta | 24 September 2018, 22:57:54 UTC | Merge pull request #29231 from haampie/quicksort-fewer-memops Sort the pivot, lo and hi value immediately in-place in quicksort | 24 September 2018, 22:57:54 UTC |
fa7d1a9 | Keno Fischer | 24 September 2018, 21:03:15 UTC | Fix inlinining's rewrite of _apply atypes (#29324) Inlining incorrectly computed the new atypes for an _apply call, leading to a cache miss and lack of inlining for call targets that are worth inlining for the given constant arguments, but not necessarily in general. | 24 September 2018, 21:03:15 UTC |
abd9072 | Nathan Daly | 24 September 2018, 18:44:24 UTC | Add `splitpath(p::AbstractString)` to Base.Filesystem. (#28156) | 24 September 2018, 18:44:24 UTC |
99e0b3b | Jeff Bezanson | 24 September 2018, 18:02:49 UTC | fix bug in parsing extended colon-like operators (#29314) | 24 September 2018, 18:02:49 UTC |
64a4f18 | Tamas K. Papp | 24 September 2018, 17:28:03 UTC | Minor docs correction for maxintfloat. (#29301) Fixes #29297, see discussion there. | 24 September 2018, 17:28:03 UTC |
6390fbf | Elliot Saba | 24 September 2018, 12:50:13 UTC | Add `LLVM_EXPERIMENTAL_TARGETS` and default it to `WebAssembly` This provides feature-parity between Julia-built LLVM and BinaryBuilder-built LLVM, allowing us to vendor dylibs (such as `libclang`) to users through BinaryProvider without causing segfaults within Julia due to mismatched features. While the `WebAssembly` backend changes enough within the built LLVM to make it so that we cannot simply take `libclang` from a build that has WASM support and use it within the offcial Julia library, it appears that it does not change the codepaths that Julia itself uses enough to cause any issues (at least in the testing that we have done). In LLVM 8, the WASM backend is expected to be promoted out of experimental. | 24 September 2018, 12:50:13 UTC |
8484f97 | Milan Bouchet-Valat | 24 September 2018, 04:39:59 UTC | Improve noteworthy differences from R on ismissing (#29332) The R function is called is.na, and automatically works element-wise. | 24 September 2018, 04:39:59 UTC |
f474f75 | Valentin Churavy | 23 September 2018, 00:06:55 UTC | check return from jl_restore_incremental correctly | 23 September 2018, 00:06:55 UTC |