https://github.com/halide/Halide

sort by:
Revision Author Date Message Commit Date
c8b85d5 Merge branch 'master' into webassembly 19 February 2019, 20:18:10 UTC
f5b2237 Merge pull request #3668 from halide/srj-llvm-fix API fix for trunk LLVM 14 February 2019, 20:40:31 UTC
42b635d API fix for trunk LLVM 14 February 2019, 18:34:07 UTC
3aaf238 Fix comment 12 February 2019, 01:37:14 UTC
52a5705 Merge branch 'master' into webassembly 12 February 2019, 01:34:25 UTC
a1da07e Fix merge marker 12 February 2019, 01:34:22 UTC
d02247b Merge pull request #3662 from halide/srj-ctlz Improve handling of clz, ctz, popcount 09 February 2019, 03:02:29 UTC
504adc6 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 Fix bug/test, part 2: bonehead boogaloo 09 February 2019, 01:17:34 UTC
34a45e3 Fix more MSVC nonsense 08 February 2019, 18:44:02 UTC
4c92390 Fix bug, add test 08 February 2019, 17:47:00 UTC
3384e64 Merge branch 'master' into srj-bitwise 08 February 2019, 02:02:37 UTC
d679792 Fix C backend for 64-bit types 08 February 2019, 02:02:01 UTC
8e407e5 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 Fix another bonehead mistake 07 February 2019, 22:26:40 UTC
1a30a16 Use intrin.h instead of forward-declaring 07 February 2019, 19:57:37 UTC
0dcc0f8 use min() instead of select() 07 February 2019, 19:56:31 UTC
abd4ab0 Attempt to appease MSVC 07 February 2019, 19:32:15 UTC
b545b3b Use intrinsics; make clz/ctz(0) a compile error 07 February 2019, 18:12:25 UTC
dec062c Fix cast mistake 07 February 2019, 02:44:38 UTC
5d71861 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 Merge pull request #3656 from halide/srj-rg2 Extend registration mechanism to be extensible 06 February 2019, 22:37:13 UTC
cad0cfc Fix bonehead mistake 06 February 2019, 01:49:55 UTC
15be77d 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 Missing backslash 05 February 2019, 22:34:37 UTC
7275c34 Minor fixes 05 February 2019, 21:58:45 UTC
763857b Avoid initialization-order fiasco 05 February 2019, 18:57:43 UTC
8e0bcb6 Fix link order 04 February 2019, 23:13:18 UTC
c041d12 Merge branch 'master' into srj-rg2 04 February 2019, 23:06:13 UTC
c70bc79 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 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 Fix flags 04 February 2019, 16:35:37 UTC
e5b6d32 Add basic RunGen self-test 01 February 2019, 23:33:03 UTC
34bcede Add multi_rungen to test_generator 01 February 2019, 23:04:51 UTC
799861b Add accessors to RunGen to retrieve the call + metadata 01 February 2019, 22:29:26 UTC
dcdfaa9 Merge branch 'webassembly' of https://github.com/halide/Halide into webassembly 01 February 2019, 22:23:51 UTC
84d2e04 Merge branch 'master' into webassembly 01 February 2019, 22:23:07 UTC
c87cf30 Merge pull request #3653 from halide/srj-llvm Fix should be >=90, not >=80 01 February 2019, 21:30:14 UTC
f1e8c58 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 Fix should be >=90, not >=80 01 February 2019, 20:26:05 UTC
bd526a9 Merge branch 'master' into srj-fast-bounds 01 February 2019, 20:10:06 UTC
99b5f96 Merge pull request #3651 from halide/srj-llvm Fix for trunk LLVM 01 February 2019, 20:09:40 UTC
2cf4b66 Version 01 February 2019, 20:09:24 UTC
9b795b5 Fix for trunk LLVM 01 February 2019, 19:43:09 UTC
fa9f095 Add comment 01 February 2019, 18:20:37 UTC
6545ffd Restructure to avoid lambda 01 February 2019, 18:18:23 UTC
eb296f8 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 Merge pull request #3649 from halide/srj-shl-shr-2 Fix PR#3647 for unsigned ints 01 February 2019, 00:48:13 UTC
9aa9e95 Fix 64-bit corner cases 31 January 2019, 20:56:31 UTC
ae76af5 Clarify naming 31 January 2019, 19:53:23 UTC
7ac169b Fix test_internal 31 January 2019, 18:47:40 UTC
6d190ac Merge branch 'master' into srj-shl-shr-2 31 January 2019, 18:40:12 UTC
fe205e8 Merge pull request #3642 from halide/bounds_of_bitwise Bounds inference for shift_left of int32s 31 January 2019, 18:25:24 UTC
891131d Fix test_internal 31 January 2019, 02:37:45 UTC
98b0e3c Fix PR#3647 for unsigned ints Maximum shift amount for unsigned should have been one larger. 31 January 2019, 02:17:42 UTC
3bf2364 Merge branch 'master' into bounds_of_bitwise 31 January 2019, 00:49:57 UTC
848d5ce Single-point optimization case for bitwise ops must use intervals 31 January 2019, 00:49:33 UTC
c212ce4 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 Simplify shift_right and shift_left for out-of-range shifts too 30 January 2019, 19:53:59 UTC
50e164f Fix typos 30 January 2019, 17:10:34 UTC
9cd9161 Merge branch 'master' into bounds_of_bitwise 30 January 2019, 17:09:48 UTC
72382a4 Merge pull request #3645 from halide/srj-div Improve failure mode for Simplify(Div) 30 January 2019, 17:08:05 UTC
4c32498 Merge pull request #3646 from halide/fix-boundary-alignment2 Fix falsely promised alignment 30 January 2019, 17:07:51 UTC
282260a Merge branch 'master' into fix-boundary-alignment2 30 January 2019, 01:29:32 UTC
6f0ecba Merge branch 'master' into srj-div 30 January 2019, 01:28:46 UTC
12a1d70 Merge pull request #3641 from halide/fix_double_remove_interleaves Fix apparent redundant work 30 January 2019, 00:40:45 UTC
4b7f0a3 Fix it for real. 30 January 2019, 00:34:24 UTC
f081f0b Fix falsely promised alignment. 30 January 2019, 00:32:10 UTC
964c3bd Account for unbounded intervals 30 January 2019, 00:31:37 UTC
605da2c 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 Better handling of bitwise and 30 January 2019, 00:03:39 UTC
b6a3359 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 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 Also handle shift-left of non-int32s 29 January 2019, 21:05:03 UTC
054e427 Bounds inference for shift_left of int32s 29 January 2019, 20:46:46 UTC
3cc952b Fix apparent redundant work 29 January 2019, 19:41:32 UTC
c2b3605 Remove let stripping in can_prove 29 January 2019, 18:48:11 UTC
cbc4175 Merge branch 'master' into fewer_lets_when_inlining 29 January 2019, 18:21:27 UTC
aa5ba08 Merge pull request #3632 from halide/fix-dead-lets Remove dead lets more thoroughly. Fixes #3631 29 January 2019, 18:18:20 UTC
b34a517 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 Merge branch 'master' of https://github.com/halide/Halide into fix-dead-lets 29 January 2019, 17:55:09 UTC
2c9b18e Merge pull request #3628 from halide/bounds_of_bitwise Fix bounds of bitwise ops 29 January 2019, 17:38:44 UTC
51499b9 Merge pull request #3627 from halide/srj-nan Fix simplification of Halide::is_nan (Issue #3624) 29 January 2019, 17:38:24 UTC
90e47c0 Merge pull request #3637 from halide/srj-inline Partial revert of #3612 29 January 2019, 02:01:15 UTC
90e2818 Merge pull request #3634 from halide/srj-llvm-checks Restructure LLVM ifdefs 29 January 2019, 01:55:52 UTC
fa4a9ee 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 Merge pull request #3626 from halide/debug-dump-so Dump Hexagon shared objects in debug builds 28 January 2019, 23:58:15 UTC
2dc4fa0 Partial revert of #3612 28 January 2019, 22:05:52 UTC
d93495e Don't create unnecessary lets in Inlining 28 January 2019, 22:04:13 UTC
bc67444 Merge branch 'master' of https://github.com/halide/Halide into fix-shuffles 28 January 2019, 21:39:44 UTC
332dde0 More fixes 28 January 2019, 19:26:19 UTC
8b10e5c Merge branch 'master' into srj-llvm-checks 28 January 2019, 19:25:12 UTC
7b45deb Merge remote-tracking branch 'origin/master' into bounds_of_bitwise 28 January 2019, 19:24:29 UTC
a5b397f 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 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 Merge branch 'master' into srj-nan 28 January 2019, 18:35:56 UTC
d912454 Add comment explaining redundant var usage tracking. 27 January 2019, 20:42:58 UTC
63b0709 Fix hack. 27 January 2019, 20:21:37 UTC
508df8e Remove dead lets more thoroughly. Fixes #3631 27 January 2019, 19:26:28 UTC
3fce5b8 Oops 27 January 2019, 00:32:37 UTC
back to top