c8b85d5 | Steven Johnson | 19 February 2019, 20:18:10 UTC | Merge branch 'master' into webassembly | 19 February 2019, 20:18:10 UTC |
f5b2237 | Steven Johnson | 14 February 2019, 20:40:31 UTC | Merge pull request #3668 from halide/srj-llvm-fix API fix for trunk LLVM | 14 February 2019, 20:40:31 UTC |
42b635d | Steven Johnson | 14 February 2019, 18:34:07 UTC | API fix for trunk LLVM | 14 February 2019, 18:34:07 UTC |
3aaf238 | Steven Johnson | 12 February 2019, 01:37:14 UTC | Fix comment | 12 February 2019, 01:37:14 UTC |
52a5705 | Steven Johnson | 12 February 2019, 01:34:25 UTC | Merge branch 'master' into webassembly | 12 February 2019, 01:34:25 UTC |
a1da07e | Steven Johnson | 12 February 2019, 01:34:22 UTC | Fix merge marker | 12 February 2019, 01:34:22 UTC |
d02247b | Steven Johnson | 09 February 2019, 03:02:29 UTC | Merge pull request #3662 from halide/srj-ctlz Improve handling of clz, ctz, popcount | 09 February 2019, 03:02:29 UTC |
504adc6 | Steven Johnson | 09 February 2019, 03:01:53 UTC | Merge pull request #3659 from halide/srj-bitwise Bounds for shift_right with signed-ints was incorrect | 09 February 2019, 03:01:53 UTC |
460ea86 | Steven Johnson | 09 February 2019, 01:17:34 UTC | Fix bug/test, part 2: bonehead boogaloo | 09 February 2019, 01:17:34 UTC |
34a45e3 | Steven Johnson | 08 February 2019, 18:44:02 UTC | Fix more MSVC nonsense | 08 February 2019, 18:44:02 UTC |
4c92390 | Steven Johnson | 08 February 2019, 17:47:00 UTC | Fix bug, add test | 08 February 2019, 17:47:00 UTC |
3384e64 | Steven Johnson | 08 February 2019, 02:02:37 UTC | Merge branch 'master' into srj-bitwise | 08 February 2019, 02:02:37 UTC |
d679792 | Steven Johnson | 08 February 2019, 02:02:01 UTC | Fix C backend for 64-bit types | 08 February 2019, 02:02:01 UTC |
8e407e5 | Steven Johnson | 08 February 2019, 01:01:00 UTC | Make clz, ctz well-defined at zero (Note that we were already providing this behavior by mistake, we just didn't document or test it as such.) - fixed comments for count_leading_zeros() and count_trailing_zeros - rename misnamed arg in Codegen_LLVM - revised Simplify code to handle zero properly - revised Bounds code to allow for zero - added missing definitions of count_trailing_zeros and popcount to the C backend, and added scalarizing | 08 February 2019, 01:01:00 UTC |
5b1b1d4 | Steven Johnson | 07 February 2019, 22:26:40 UTC | Fix another bonehead mistake | 07 February 2019, 22:26:40 UTC |
1a30a16 | Steven Johnson | 07 February 2019, 19:57:37 UTC | Use intrin.h instead of forward-declaring | 07 February 2019, 19:57:37 UTC |
0dcc0f8 | Steven Johnson | 07 February 2019, 19:56:31 UTC | use min() instead of select() | 07 February 2019, 19:56:31 UTC |
abd4ab0 | Steven Johnson | 07 February 2019, 19:32:15 UTC | Attempt to appease MSVC | 07 February 2019, 19:32:15 UTC |
b545b3b | Steven Johnson | 07 February 2019, 18:12:25 UTC | Use intrinsics; make clz/ctz(0) a compile error | 07 February 2019, 18:12:25 UTC |
dec062c | Steven Johnson | 07 February 2019, 02:44:38 UTC | Fix cast mistake | 07 February 2019, 02:44:38 UTC |
5d71861 | Steven Johnson | 07 February 2019, 02:05:59 UTC | Improve handling of clz, ctz, popcount - Add special-casing of these to the Simplifier, so that constant values are simplified to constants - Improve handling of bounds-calculation for clz to allow narrower min and max when the intervals are bounded | 07 February 2019, 02:05:59 UTC |
821b3a7 | Steven Johnson | 06 February 2019, 22:37:13 UTC | Merge pull request #3656 from halide/srj-rg2 Extend registration mechanism to be extensible | 06 February 2019, 22:37:13 UTC |
cad0cfc | Steven Johnson | 06 February 2019, 01:49:55 UTC | Fix bonehead mistake | 06 February 2019, 01:49:55 UTC |
15be77d | Steven Johnson | 06 February 2019, 00:16:36 UTC | Bounds for shift_right with signed-ints was incorrect The boundaries didn't take into account the differing behavior of signed values, so the constant bounds signed ints was wildly wrong in some cases (eg int16 >> int16 -> [-1, 0]) | 06 February 2019, 00:16:36 UTC |
e10a823 | Steven Johnson | 05 February 2019, 22:34:37 UTC | Missing backslash | 05 February 2019, 22:34:37 UTC |
7275c34 | Steven Johnson | 05 February 2019, 21:58:45 UTC | Minor fixes | 05 February 2019, 21:58:45 UTC |
763857b | Steven Johnson | 05 February 2019, 18:57:43 UTC | Avoid initialization-order fiasco | 05 February 2019, 18:57:43 UTC |
8e0bcb6 | Steven Johnson | 04 February 2019, 23:13:18 UTC | Fix link order | 04 February 2019, 23:13:18 UTC |
c041d12 | Steven Johnson | 04 February 2019, 23:06:13 UTC | Merge branch 'master' into srj-rg2 | 04 February 2019, 23:06:13 UTC |
c70bc79 | Steven Johnson | 04 February 2019, 22:26:50 UTC | Extra registration mechanism to be extensible This extends the registration mechanism for AOT-Generators to allow for a build system to add arbitrary additional text as part of the `halide_register_argv_and_metadata` call. | 04 February 2019, 22:26:50 UTC |
b048664 | Steven Johnson | 04 February 2019, 19:01:28 UTC | Merge pull request #3654 from halide/srj-rg Add accessors to RunGen to retrieve the call + metadata | 04 February 2019, 19:01:28 UTC |
c6ea980 | Steven Johnson | 04 February 2019, 16:35:37 UTC | Fix flags | 04 February 2019, 16:35:37 UTC |
e5b6d32 | Steven Johnson | 01 February 2019, 23:33:03 UTC | Add basic RunGen self-test | 01 February 2019, 23:33:03 UTC |
34bcede | Steven Johnson | 01 February 2019, 23:04:51 UTC | Add multi_rungen to test_generator | 01 February 2019, 23:04:51 UTC |
799861b | Steven Johnson | 01 February 2019, 22:29:26 UTC | Add accessors to RunGen to retrieve the call + metadata | 01 February 2019, 22:29:26 UTC |
dcdfaa9 | Zalman Stern | 01 February 2019, 22:23:51 UTC | Merge branch 'webassembly' of https://github.com/halide/Halide into webassembly | 01 February 2019, 22:23:51 UTC |
84d2e04 | Zalman Stern | 01 February 2019, 22:23:07 UTC | Merge branch 'master' into webassembly | 01 February 2019, 22:23:07 UTC |
c87cf30 | Steven Johnson | 01 February 2019, 21:30:14 UTC | Merge pull request #3653 from halide/srj-llvm Fix should be >=90, not >=80 | 01 February 2019, 21:30:14 UTC |
f1e8c58 | Steven Johnson | 01 February 2019, 21:29:49 UTC | Merge pull request #3650 from halide/srj-fast-bounds Fix possible n^2 arg evaluation in Bounds::visit(Call) | 01 February 2019, 21:29:49 UTC |
411480f | Steven Johnson | 01 February 2019, 20:26:05 UTC | Fix should be >=90, not >=80 | 01 February 2019, 20:26:05 UTC |
bd526a9 | Steven Johnson | 01 February 2019, 20:10:06 UTC | Merge branch 'master' into srj-fast-bounds | 01 February 2019, 20:10:06 UTC |
99b5f96 | Steven Johnson | 01 February 2019, 20:09:40 UTC | Merge pull request #3651 from halide/srj-llvm Fix for trunk LLVM | 01 February 2019, 20:09:40 UTC |
2cf4b66 | Steven Johnson | 01 February 2019, 20:09:24 UTC | Version | 01 February 2019, 20:09:24 UTC |
9b795b5 | Steven Johnson | 01 February 2019, 19:43:09 UTC | Fix for trunk LLVM | 01 February 2019, 19:43:09 UTC |
fa9f095 | Steven Johnson | 01 February 2019, 18:20:37 UTC | Add comment | 01 February 2019, 18:20:37 UTC |
6545ffd | Steven Johnson | 01 February 2019, 18:18:23 UTC | Restructure to avoid lambda | 01 February 2019, 18:18:23 UTC |
eb296f8 | Steven Johnson | 01 February 2019, 00:49:05 UTC | Fix possible n^2 arg evaluation in Bounds::visit(Call) We could evaluate the args redundantly, due to the eager calculation of `new_args` in case it's a pure function call; for a deeply-nested Expr, this could end up with a meaningfully n^2 delay. We never noticed this before because the main candidates to be deeply nested were bitwise ops (which were previously eagerly simplified). Fortunately, fix is simple: rearrange the `new_args` calculation to be done only if we know the other criteria for a possible PureExtern/Image function are satisfied. | 01 February 2019, 00:49:05 UTC |
1c63926 | Steven Johnson | 01 February 2019, 00:48:13 UTC | Merge pull request #3649 from halide/srj-shl-shr-2 Fix PR#3647 for unsigned ints | 01 February 2019, 00:48:13 UTC |
9aa9e95 | Steven Johnson | 31 January 2019, 20:56:31 UTC | Fix 64-bit corner cases | 31 January 2019, 20:56:31 UTC |
ae76af5 | Steven Johnson | 31 January 2019, 19:53:23 UTC | Clarify naming | 31 January 2019, 19:53:23 UTC |
7ac169b | Steven Johnson | 31 January 2019, 18:47:40 UTC | Fix test_internal | 31 January 2019, 18:47:40 UTC |
6d190ac | Steven Johnson | 31 January 2019, 18:40:12 UTC | Merge branch 'master' into srj-shl-shr-2 | 31 January 2019, 18:40:12 UTC |
fe205e8 | Steven Johnson | 31 January 2019, 18:25:24 UTC | Merge pull request #3642 from halide/bounds_of_bitwise Bounds inference for shift_left of int32s | 31 January 2019, 18:25:24 UTC |
891131d | Steven Johnson | 31 January 2019, 02:37:45 UTC | Fix test_internal | 31 January 2019, 02:37:45 UTC |
98b0e3c | Steven Johnson | 31 January 2019, 02:17:42 UTC | Fix PR#3647 for unsigned ints Maximum shift amount for unsigned should have been one larger. | 31 January 2019, 02:17:42 UTC |
3bf2364 | Steven Johnson | 31 January 2019, 00:49:57 UTC | Merge branch 'master' into bounds_of_bitwise | 31 January 2019, 00:49:57 UTC |
848d5ce | Steven Johnson | 31 January 2019, 00:49:33 UTC | Single-point optimization case for bitwise ops must use intervals | 31 January 2019, 00:49:33 UTC |
c212ce4 | Steven Johnson | 30 January 2019, 23:59:45 UTC | Merge pull request #3647 from halide/srj-shl-shr Simplify shift_right and shift_left for out-of-range shifts too | 30 January 2019, 23:59:45 UTC |
bc2caaa | Steven Johnson | 30 January 2019, 19:53:59 UTC | Simplify shift_right and shift_left for out-of-range shifts too | 30 January 2019, 19:53:59 UTC |
50e164f | Steven Johnson | 30 January 2019, 17:10:34 UTC | Fix typos | 30 January 2019, 17:10:34 UTC |
9cd9161 | Steven Johnson | 30 January 2019, 17:09:48 UTC | Merge branch 'master' into bounds_of_bitwise | 30 January 2019, 17:09:48 UTC |
72382a4 | Steven Johnson | 30 January 2019, 17:08:05 UTC | Merge pull request #3645 from halide/srj-div Improve failure mode for Simplify(Div) | 30 January 2019, 17:08:05 UTC |
4c32498 | Steven Johnson | 30 January 2019, 17:07:51 UTC | Merge pull request #3646 from halide/fix-boundary-alignment2 Fix falsely promised alignment | 30 January 2019, 17:07:51 UTC |
282260a | Steven Johnson | 30 January 2019, 01:29:32 UTC | Merge branch 'master' into fix-boundary-alignment2 | 30 January 2019, 01:29:32 UTC |
6f0ecba | Steven Johnson | 30 January 2019, 01:28:46 UTC | Merge branch 'master' into srj-div | 30 January 2019, 01:28:46 UTC |
12a1d70 | Steven Johnson | 30 January 2019, 00:40:45 UTC | Merge pull request #3641 from halide/fix_double_remove_interleaves Fix apparent redundant work | 30 January 2019, 00:40:45 UTC |
4b7f0a3 | dsharletg | 30 January 2019, 00:34:24 UTC | Fix it for real. | 30 January 2019, 00:34:24 UTC |
f081f0b | dsharletg | 30 January 2019, 00:32:10 UTC | Fix falsely promised alignment. | 30 January 2019, 00:32:10 UTC |
964c3bd | Andrew Adams | 30 January 2019, 00:31:37 UTC | Account for unbounded intervals | 30 January 2019, 00:31:37 UTC |
605da2c | Steven Johnson | 30 January 2019, 00:08:17 UTC | Merge pull request #3640 from halide/remove_let_stripping_in_can_prove Remove let stripping in can_prove | 30 January 2019, 00:08:17 UTC |
8379420 | Andrew Adams | 30 January 2019, 00:03:39 UTC | Better handling of bitwise and | 30 January 2019, 00:03:39 UTC |
b6a3359 | Steven Johnson | 30 January 2019, 00:01:29 UTC | Improve failure mode for Simplify(Div) There's a path in Simplify(Div) that checks for collapsing a bounded numerator by a constant(ish) denominator, and if the result has a single-point boundary, returns that as the constant value; however, it doesn't verify that the constant value actually fits into the result type, so you can get int64 values that are simply truncated to int32 results. This PR proposes to check for this and return signed_integer_overflow() in these cases. I'm actually a little unsure as to whether this is the right thing or not: on the one hand, this path only occurs for `no_overflow_int` types, so it's arguable that the existing behavior is just fine; that said, I'd argue that if we can trivially detect and prove that an overflow will always occur, we're better off indicating it clearly rather than returning an arbitrary value. (I suppose it depends on whether `signed_integer_overflow` is expected to be in the legal set of values for a no-overflow-int, which is not entirely clear to me.) (The motivation for this change is as a cheap way to detect a set of overflow conditions in bounds_of_expr_in_scope(), which was being addressed in a more heavyweight way in PR#3599.) (On a related note: I was actually quite surprised to find that `make_const()` didn't do a `can_represent()` check internally; I presume this must be deliberate?) | 30 January 2019, 00:01:29 UTC |
b82c27c | Steven Johnson | 29 January 2019, 23:31:06 UTC | Merge pull request #3636 from halide/fewer_lets_when_inlining Don't create unnecessary lets in Inlining | 29 January 2019, 23:31:06 UTC |
ce85b1f | Andrew Adams | 29 January 2019, 21:05:03 UTC | Also handle shift-left of non-int32s | 29 January 2019, 21:05:03 UTC |
054e427 | Andrew Adams | 29 January 2019, 20:46:46 UTC | Bounds inference for shift_left of int32s | 29 January 2019, 20:46:46 UTC |
3cc952b | Andrew Adams | 29 January 2019, 19:41:32 UTC | Fix apparent redundant work | 29 January 2019, 19:41:32 UTC |
c2b3605 | Andrew Adams | 29 January 2019, 18:48:11 UTC | Remove let stripping in can_prove | 29 January 2019, 18:48:11 UTC |
cbc4175 | Steven Johnson | 29 January 2019, 18:21:27 UTC | Merge branch 'master' into fewer_lets_when_inlining | 29 January 2019, 18:21:27 UTC |
aa5ba08 | Andrew Adams | 29 January 2019, 18:18:20 UTC | Merge pull request #3632 from halide/fix-dead-lets Remove dead lets more thoroughly. Fixes #3631 | 29 January 2019, 18:18:20 UTC |
b34a517 | Andrew Adams | 29 January 2019, 18:17:33 UTC | Merge pull request #3617 from halide/fix_3616 Types of 32-bit float intrinsics must be a 32-bit float | 29 January 2019, 18:17:33 UTC |
96e1a84 | dsharletg | 29 January 2019, 17:55:09 UTC | Merge branch 'master' of https://github.com/halide/Halide into fix-dead-lets | 29 January 2019, 17:55:09 UTC |
2c9b18e | Steven Johnson | 29 January 2019, 17:38:44 UTC | Merge pull request #3628 from halide/bounds_of_bitwise Fix bounds of bitwise ops | 29 January 2019, 17:38:44 UTC |
51499b9 | Steven Johnson | 29 January 2019, 17:38:24 UTC | Merge pull request #3627 from halide/srj-nan Fix simplification of Halide::is_nan (Issue #3624) | 29 January 2019, 17:38:24 UTC |
90e47c0 | Steven Johnson | 29 January 2019, 02:01:15 UTC | Merge pull request #3637 from halide/srj-inline Partial revert of #3612 | 29 January 2019, 02:01:15 UTC |
90e2818 | Steven Johnson | 29 January 2019, 01:55:52 UTC | Merge pull request #3634 from halide/srj-llvm-checks Restructure LLVM ifdefs | 29 January 2019, 01:55:52 UTC |
fa4a9ee | Dillon Sharlet | 29 January 2019, 01:28:45 UTC | Merge pull request #3630 from halide/fix-shuffles Remove overzealous check when extracting even/odd lanes of a vector | 29 January 2019, 01:28:45 UTC |
fa0a5c5 | Dillon Sharlet | 28 January 2019, 23:58:15 UTC | Merge pull request #3626 from halide/debug-dump-so Dump Hexagon shared objects in debug builds | 28 January 2019, 23:58:15 UTC |
2dc4fa0 | Steven Johnson | 28 January 2019, 22:05:52 UTC | Partial revert of #3612 | 28 January 2019, 22:05:52 UTC |
d93495e | Andrew Adams | 28 January 2019, 22:04:13 UTC | Don't create unnecessary lets in Inlining | 28 January 2019, 22:04:13 UTC |
bc67444 | dsharletg | 28 January 2019, 21:39:44 UTC | Merge branch 'master' of https://github.com/halide/Halide into fix-shuffles | 28 January 2019, 21:39:44 UTC |
332dde0 | Steven Johnson | 28 January 2019, 19:26:19 UTC | More fixes | 28 January 2019, 19:26:19 UTC |
8b10e5c | Steven Johnson | 28 January 2019, 19:25:12 UTC | Merge branch 'master' into srj-llvm-checks | 28 January 2019, 19:25:12 UTC |
7b45deb | Andrew Adams | 28 January 2019, 19:24:29 UTC | Merge remote-tracking branch 'origin/master' into bounds_of_bitwise | 28 January 2019, 19:24:29 UTC |
a5b397f | Andrew Adams | 28 January 2019, 19:21:50 UTC | Merge pull request #3623 from halide/avx_paddusw_fix Enable some 256-bit integer ops for AVX | 28 January 2019, 19:21:50 UTC |
f36762f | Steven Johnson | 28 January 2019, 19:18:43 UTC | Restructure LLVM ifdefs Minor, but: Restructure so that all ifdefs are of the form #ifdef LLVM_VERSION >= someversion (vs < someversion); this makes scanning thru code to look for LLVM dependencies less error prone. (Obviously the intent is to standardize on this for future changes as well.) This does mean that we have a couple if awkward "nothing" clauses, but IMHO it's a minor nit to make version-checking more uniform and reliable. | 28 January 2019, 19:18:43 UTC |
90fe67a | Steven Johnson | 28 January 2019, 18:35:56 UTC | Merge branch 'master' into srj-nan | 28 January 2019, 18:35:56 UTC |
d912454 | dsharletg | 27 January 2019, 20:42:58 UTC | Add comment explaining redundant var usage tracking. | 27 January 2019, 20:42:58 UTC |
63b0709 | dsharletg | 27 January 2019, 20:21:37 UTC | Fix hack. | 27 January 2019, 20:21:37 UTC |
508df8e | dsharletg | 27 January 2019, 19:26:28 UTC | Remove dead lets more thoroughly. Fixes #3631 | 27 January 2019, 19:26:28 UTC |
3fce5b8 | dsharletg | 27 January 2019, 00:32:37 UTC | Oops | 27 January 2019, 00:32:37 UTC |