https://github.com/halide/Halide

sort by:
Revision Author Date Message Commit Date
e038765 Codegen_C: check the result of snprintf() Technically, we should check the return code of sprintf() for failure conditions. This is a minimal fix designed to quietly ensure that encoding errors aren't overlooked. (Since our "C" output actually requires C++11 at this point, I was tempted to replace it with `ostringstream`, but decided to avoid bringing that in...) 18 April 2022, 18:20:51 UTC
60a909f Fix type-mangling for vst on arm32 for LLVM15 (#6705) 14 April 2022, 16:49:38 UTC
77f7f5e Python: make Func implicitly convertible to Stage (#6702) (#6704) This allows for `compute_with` and `rfactor` to work more seamlessly in Python. Also: - Move two compute_with() variant bindings from PyFunc and PyStage to PyScheduleMethods, as they are identical between the two - drive-by removal of redundant `py::implicitly_convertible<ImageParam, Func>();` call 13 April 2022, 21:31:17 UTC
87c0cc9 llvm no longer wants a type suffix on vst intrinsics (#6701) * llvm no longer wants a type suffix on vst intrinsics * Fix silly mistake * Change 64-bit only Co-authored-by: Andrew Adams <anadams@adobe.com> 12 April 2022, 23:38:56 UTC
3d7b977 Drop support for Matlab extensions (#6696) * Drop support for Matlab extensions Anecdotally, this hasn't been used in ~years, and the original author (@dsharletg) had suggested dropping it a while back. I'm going to propose we go ahead and drop it for Halide 15 and see who complains. * Fixes for top-of-tree LLVM * Update force_include_types.cpp * trigger buildbots * Update CodeGen_LLVM.cpp 12 April 2022, 23:33:02 UTC
4da8932 Remove deprecated JIT handler setters (#6699) 12 April 2022, 04:45:12 UTC
009d86f Remove deprecated versions of Func::prefetch() (#6698) 12 April 2022, 04:45:00 UTC
3944fb0 Faster `widening_mul(int16x, int16x) -> int32x` for x86 (AVX2 and SSE2) (#6677) * add widening_mul using vpmaddwd for AVX2 * add vpmaddwd/pmaddwd test * add widening_mul with pmaddwd for SSE2 12 April 2022, 02:41:52 UTC
08325a4 Fixes for top-of-tree LLVM (#6697) 11 April 2022, 23:36:16 UTC
f906eba Silence "unknown warning" in Clang 13 (#6693) Clang 13 removed the `return-std-move-in-c++11` warning entirely, so specifying it now warns that the warning is unknown. 11 April 2022, 16:47:39 UTC
d568469 Add `break` to avoid 'possible unintentional fallthru' warning (#6694) 11 April 2022, 16:40:27 UTC
54f3977 Always mark _ucon as 'unused' in Codegen_C (#6691) * Always mark _ucon as 'unused' in Codegen_C, even if asserts are enabled, since generated closure functions may not use it * halide_unused -> halide_maybe_unused * fix test_internal * More halide_unused -> halide_maybe_unused 08 April 2022, 23:25:34 UTC
887d340 Upgrade to clang-format 13 (#6689) Goal here: eliminate the need for a local version of llvm/clang-12, and don't stay too far behind the toolchain. As always, clang-format doesn't promise backwards compatibility, but the main differences in formatting are: - more regularization of spaces at the start of comments (I like this change) - minor difference of formatting of function-pointer-type declarations (not a fan of this, but I can't find a way to disable it and it's only really used in a handful of place in the Python bindings) 08 April 2022, 19:01:27 UTC
b5840f7 Drop support for LLVM12 (#6686) * Drop support for LLVM12 Halide 15 only needs to support LLVM13 and LLVM13. Drop all the special-casing for LLVM12. * Update packaging.yml * Update presubmit.yml * 13 * more * Update presubmit.yml * woo * Update presubmit.yml * Update run-clang-tidy.sh * Update run-clang-tidy.sh * Update .clang-tidy * Update .clang-tidy * wer * Update Random.cpp * wer * sdf * sdf * Update packaging.yml 08 April 2022, 00:59:14 UTC
e549be7 Remove deprecated `build()` support from Generators (#6684) This was deprecated in Halide 14; let's remove it entirely for Halide 15. 08 April 2022, 00:03:34 UTC
f64bd08 Remove deprecated `Halide::Output` type (#6685) It was deprecated (in favor of `OutputFileType` in Halide 14; let's remove it entirely for Halide 15. 07 April 2022, 23:59:49 UTC
fe96aaa Fix "set but not used" warnings/errors (#6683) * Fix "set but not used" warnings/errors Apparently XCode 13.3 has smarter warnings about unused code and emits warnings/errors for these, so let's clean them up. * Also fix missing `ssize_t` usage 07 April 2022, 21:30:08 UTC
1d1b556 Halide::Tools::save_image() should accept buffers with `const` types (#6679) 06 April 2022, 23:25:04 UTC
ad0408e Clean up Python extensions in python_bindings (#6670) * Remove the nobuild/partialbuildmethod tests from python_bindings/ They no longer serve a purpose and are redundant to other tests. * WIP * Update pystub.py * wip * wip * wip * Update TargetExportScript.cmake * Update PythonExtensionHelpers.cmake * PyExtensionGen didn't handle zero-dimensional buffers 06 April 2022, 17:52:14 UTC
12270a5 Bump development Halide version to 15.0.0 (#6678) * Bump development Halide version to 15.0.0 * trigger buildbots 06 April 2022, 16:57:39 UTC
72ad2e6 `-mtune=native` CPU autodetection for AMD Zen 3 CPU (#6648) * `-mtune=native` CPU autodetection for AMD Zen 3 CPU * Address review notes. * Fix MSVC build * Address review notes 06 April 2022, 16:13:45 UTC
9866df2 Fix ctors for Realization (#6675) For vector-of-Buffers, the ctor took a non-const ref to the argument, which was weird and nonsensical. Replaced with a const-ref version and and an rvalue-ref version; it turns out that literally *all* of the internal calls were able to use the latter, trivially saving some copies. 05 April 2022, 23:23:25 UTC
fdd6500 Future-proof 'processor` to `tune processor` (#6673) 05 April 2022, 20:51:31 UTC
43af5b6 Allow PyPipeline and PyFunc to realize() scalar buffers (#6674) 05 April 2022, 20:38:51 UTC
f56614e Fix GPU depredication/scalarization (#6669) * Scalarize predicated Loads * Cleanup * Fix gpu_vectorize scalarization for D3D12 * Fix OpenCL scalarization * Minor fixes * Formatting * Address review comments * Move Shuffle impl to CodeGen_GPU_C class * Extra space removal Co-authored-by: Shoaib Kamil <kamil@adobe.com> 01 April 2022, 14:27:50 UTC
40f895d `-mtune=`/`-mcpu=` support for x86 AMD CPU's (#6655) * `-mtune=`/`-mcpu=` support for x86 AMD CPU's * Move processor tune into it's own enum, out of features * clang-format * Target: make Processor more optional * Processor: add explanatory comments which CPU is what * Drop outdated changes * Make comments in Processor more readable / fix BtVer2 comment * Target: don't require passing Processor * Make processor more optional in the features string serialization/verification * Address review notes * Undo introduction of halide_target_processor_t * Fix year for btver2/jaguar 31 March 2022, 22:23:26 UTC
6b9ed2a Remove the nobuild/partialbuildmethod tests from python_bindings/ (#6668) They no longer serve a purpose and are redundant to other tests. 30 March 2022, 22:30:42 UTC
5d2abd3 Add ldscript code for Python extensions in CMake (#6665) * Add ldscript code for Python extensions in CMake We added ldscripts to the Makefile for Python extensions (to restrict exported symbols to just the PyInit_foo symbol), but neglected to do so for CMake. This corrects that. 29 March 2022, 23:33:42 UTC
8aba364 Allow `make test_apps` to work with ASAN (#6659) * Allow `make test_apps` to work with ASAN With asan or tsan in the target, there is a space in the OPTIMIZE var, so it needs to be quoted. * tickle buildbots * tickle buildbots * tickle buildbots 29 March 2022, 18:56:33 UTC
ed3f4a7 Add optional runtime H::R::Buffer access checks (#6660) * Add optional runtime H::R::Buffer access checks This adds some optional `assert()` checks to HRB's `operator()` and friends. They are only enabled if `HALIDE_RUNTIME_BUFFER_CHECK_INDICES=1` is defined at compile time. Also fixes errors found by enabling these assertions and running tests. * Update fast_pow.cpp * clang-format * tickle buildbots * tickle buildbots 29 March 2022, 00:10:49 UTC
c2bebe2 Python Bindings: fix Python `bool` -> `Expr` implicit conversion (#6657) * Python Bindings: fix Python `bool` -> `Expr` implicit conversion It was implicitly converting to a Halide `Int(32)` literal of value 1, but we want it to match Halide's boolean type of `UInt(1)` * Update basics.py * wip * tickle buildbots 29 March 2022, 00:10:37 UTC
14d89f3 Fix 'variable set but not used` warning/error (#6658) Yes, some compilers complain about this. 25 March 2022, 23:38:46 UTC
17b537c Timer based profiler (#6642) * Add support for timer interrupt based profiling, which is useful for bring up on embedded ("bare metal") systems that may not have a full OS with threads. * Update runtime_api file with new routines. * Turn locking back on in timer based profiling case as it can be used in multiprocessor situations. (Both as an option on systems where threads would be fine and on embedded systems which don't have time shared threads but cores are dedicated to the Halide threadpool.) * Add target flag for timer profiling and extend performance_profiler test to cover timer profiling. 22 March 2022, 19:04:53 UTC
650554a Eliminate some unnecessary clamping in ClampUnsafeAccesses (#6297) (#6654) * Eliminate some unnecessary clamping in ClampUnsafeAccesses (#6297) * Update ClampUnsafeAccesses.cpp * Update ClampUnsafeAccesses.cpp * Update ClampUnsafeAccesses.cpp 22 March 2022, 00:31:24 UTC
49db215 Fix apparent type in PR #6294 (#6653) 18 March 2022, 19:36:17 UTC
9ab3566 [CMake] Deduplicate `Halide_LLVM_VERSION` and `LLVM_PACKAGE_VERSION` (#6646) 16 March 2022, 04:56:40 UTC
b608583 Update initialization of WABT `store` field to work with top-of-tree (#6649) The copy and move assignment operators for Store are going away; initialize ours in the 15 March 2022, 22:07:46 UTC
07dddb7 Allow profiler feature under wasm iff wasm_threads is enabled (#6643) The profiler requires threads, but works fine when wasm_threads are enabled. 10 March 2022, 18:57:29 UTC
f6628aa Fix UB in hannk FillWithRandom operation. (#6645) A recent change to libc++ rejects std::uniform_int_distribution<uint8_t> explicitly (https://reviews.llvm.org/D114920). This change prevents this file to build with upcoming revisions of the C++ toolchain. 10 March 2022, 18:50:25 UTC
105f7e5 Fix const-correctness in C/C++ backend (Issue #6636) (#6638) in the Load handler, we need to emit the cast in the form `TYPE const *` rather than `const TYPE *`, as TYPE could be `void *`, and the const would bind in a way we don't want. 07 March 2022, 20:59:04 UTC
5f37d50 Convert most remaining Generators to prefer statically-dimensioned Inputs and Output where possible (#6641) This is the same as #6620, except that it omits autoschedulers/adams2019/cost_model_generator.cpp (which is unusually complex and not yet settled as to whether the changes are welcome). Basically an attempt to land the uncontroversial parts. 07 March 2022, 20:58:12 UTC
a55ae55 Clear bounds info on casts when value bounds are undefined (for overflow types) (#6640) 06 March 2022, 20:21:32 UTC
979e204 python_bindings: acquire GIL before printing (#6635) 06 March 2022, 00:25:10 UTC
0b8e263 Clean up python_binding Makefile (#6634) * Clean up python_binding Makefile Some of the tests with Generator dependencies had deps set up in a weird way that made some downstream work painful. Cleaned up. Also vastly reduced build-time noise. * Update Makefile * Add linker scripts for Python extensions 06 March 2022, 00:24:29 UTC
3827279 Python Bindings didn't allow for zero-D Funcs, ImageParams, Buffers (#6633) * Python Bindings didn't allow for zero-D Funcs, ImageParams, Buffers There were no overloads or tests for accessing the element of any of these in the zero-D case, and the obvious syntax (`[]`, to mirror C++ `()` in these cases) isn't legal in Python. To support this uncommon-but-necessary case, I'm proposing that we use the syntax `[None]`, which isn't pretty, but is less bad than other options I've considered so far. (Suggestions welcome.) * Use [()] instead of [None] 04 March 2022, 00:49:18 UTC
86728d7 Wild match object is not foldable (#6623) 26 February 2022, 18:56:09 UTC
caa3ad0 Avoid double narrowing in widening_add/widening_sub if type is 8-bit (#6629) 24 February 2022, 01:09:55 UTC
b2edbc9 Disallow `Type::narrow()` and `Type::widen()` from producing bitwidths between 1 and 8 bits (#6622) * Disallow Type::narrow() and Type::widen() from producing bitwidths between 1 and 8 bits * Narrowing a 1-bit type should error 22 February 2022, 20:09:23 UTC
a4ed033 Make IRComparer consider nans to be less than non-nans. (#6626) * Make IRComparer consider nans to be less than non-nans. Fixes #6624 * Fix test * Respond to reviewer comments. * Return -1 instead of +1 22 February 2022, 04:31:55 UTC
16bfa2f remove incorrect docs on widening_add (#6625) 21 February 2022, 18:42:15 UTC
be1269b Add Stage::unscheduled() 18 February 2022, 22:26:15 UTC
0786dd4 Fix atomics test 18 February 2022, 22:26:15 UTC
6424aaa Reenable warning about unscheduled update definitions and fix associated issues in the tests and apps. This is an old warning that stopped triggering because it wasn't tested. We should either remove it, fix the trigger conditions, or perhaps make it an error. This PR fixes the trigger conditions and fixes all instances of the warning in our tests and apps. The warning triggers if you schedule some but not all of the update definitions of a Func. It's to protect against the common error of only scheduling the pure definition of something like a summation. The warning can be suppressed by inserting a call to func.update(idx). 18 February 2022, 22:26:15 UTC
7373eb9 Move GeneratorContext into a standalone class (#6618) * Move GeneratorContext into a standalone class * Minor Fixes * clang-tidy * Update Generator.cpp * Update Generator.cpp 17 February 2022, 17:07:46 UTC
846592f Update WABT version to the just-released 1.027 (instead of main) (#6619) * Update WABT version to the just-released 1.027 (instead of main) * tickle buildbots 16 February 2022, 22:41:18 UTC
4ccd0ec Remove halide_config.cmake from Makefile build. Fixes #6615 (#6616) 16 February 2022, 01:25:09 UTC
f9189dc Update apps/hannk to use TFLite 2.8.0 (#6617) 16 February 2022, 01:24:57 UTC
3628b67 Minor Generator cleanup (#6613) 15 February 2022, 00:30:25 UTC
ba86c2e Unbreak WABT again by using main instead of a commit (#6614) 15 February 2022, 00:29:13 UTC
38032e8 Only commutative reductions can be parallelized (#6609) Because parallelization changes the order of computation within the reduction, parallelizing associative but non-commutative reductions can result in (non-deterministically) incorrect results in the same way `reorder`ing them can. For instance Halide currently accepts the following code, but generates non-deterministic outputs on GPU. On CPU with `.parallel(r.x)`, OpenMP rejects the generated code (correctly) stating that the `#pragma omp atomic` is invalid for the same reasons. ```c++ #include <stdio.h> #include "Halide.h" using namespace Halide; int main(int argc, char **argv) { Halide::Func A("A"), B("B"); Halide::Var i("i"); A(i) = i; B() = -1; Halide::RDom r(0, 1024); B() = A(r.x); A.compute_root(); B.update().atomic().gpu_blocks(r.x); B.compile_jit(get_host_target().with_feature(Target::CUDA)); Halide::Buffer<int32_t> b = B.realize(); printf("%d\n", b()); return 0; } ``` 14 February 2022, 18:43:50 UTC
832efeb Update WasmExecutor for WABT API changes (#6612) * Update WasmExecutor for WABT API changes The API for WABT has changed in top-of-tree. This fixes the incompatibilities. It also (temporarily) changes to pulling WABT from top-of-tree (rather than a known release) as the most recent labeled release doesn't have these changes. (We'll change back to a fixed WABT release when the next one is released.) * Update CMakeLists.txt 11 February 2022, 22:46:23 UTC
dd32beb Fixes to support LLVM with opaque pointers. (#6608) Removes uses of LLVM API routines that recover pointed to types from LLVM pointer types as that functionality is going away with opaque pointers. 11 February 2022, 15:53:50 UTC
340f8f2 Add comment 10 February 2022, 20:21:19 UTC
5993334 Fix bug in mul_shift_right matching widening_mul handles mixed-signedness args, but mul_shift_right doesn't. We shouldn't map a mixed-signedness widening_mul to a mul_shift_right. 10 February 2022, 20:21:19 UTC
f28c07a Allow building with LLVM15 (#6603) 02 February 2022, 21:52:02 UTC
1e7040c Convert Buffer<> usage in python_bindings/ to use static dimensions (#6591) * Various fixes to static-dimensioned Buffer - Buffer needed to make some methods constexpr, and also had a broken return value for `as<>()` - Various templated methods needed to add `int Dims` as a parameter - Generator::add_input() and add_output() needed specializations for static-buffer types - sliced() and embedded() should use the default values for InClassDimStorage - halide_image_io should use a named constant * Convert Buffer<> usage in python_bindings/ to use static dimensions ...where it seems sensible to do so, that is. * Update Generator.h 31 January 2022, 21:30:55 UTC
b9a4cb3 Convert Buffer<> usage in test/generators to use static dimensions (#6592) * Various fixes to static-dimensioned Buffer - Buffer needed to make some methods constexpr, and also had a broken return value for `as<>()` - Various templated methods needed to add `int Dims` as a parameter - Generator::add_input() and add_output() needed specializations for static-buffer types - sliced() and embedded() should use the default values for InClassDimStorage - halide_image_io should use a named constant * Convert Buffer<> usage in test/generators to use static dimensions ...where it seems sensible to do so, that is. (also test/integration since it's small) * Update Generator.h 31 January 2022, 21:30:40 UTC
d147a68 Rename BufferDimsUnconstrained -> AnyDims (#6594) Existing name is kinda clunky, this seems terser and cleaner 27 January 2022, 20:29:13 UTC
d27866e Various fixes to static-dimensioned Buffer (#6589) * Various fixes to static-dimensioned Buffer - Buffer needed to make some methods constexpr, and also had a broken return value for `as<>()` - Various templated methods needed to add `int Dims` as a parameter - Generator::add_input() and add_output() needed specializations for static-buffer types - sliced() and embedded() should use the default values for InClassDimStorage - halide_image_io should use a named constant * Update Generator.h 27 January 2022, 17:46:12 UTC
c450bf4 Fixes the Pytorch Wrapper Codegen for CPU-only machines. (#6590) * fixes pytorch op compilation for CPU only machines, adds default user context for auto-scheduled-ops * rm redundant declarations * fix spacing Co-authored-by: Michael Gharbi <mgharbi@adobe.com> 27 January 2022, 17:27:13 UTC
4e33ff4 Convert apps/ to use static Buffer dims where useful (#6585) * wip * Update metadata_tester_generator.cpp * Update Generator.h * Update Generator.h * DynamicDims -> BufferDimsUnconstrained * Update fft_aot_test.cpp * Update HalideBuffer.h * Update HalideBuffer.h * Fix as<>(), default ctor in HalideBuffer.h - Allow as<> to optionally convert dimensionality as well - The default ctor shouldn't always assume Dims == 0 - make_static_shape_storage() can be more constrained * Add extra template arg to Buffer<>::as<> also * Realization::operator Buffer() needs to know about the extra template parameter too * halide_image_io.h needs some attention * Convert apps/ to use static Buffer dims where useful Convert most of the apps to use static Buffer dimensions where it makes sense. (This uncovered a few glitches in https://github.com/halide/Halide/pull/6574.) 26 January 2022, 23:14:29 UTC
892b558 Expand optional static-typing for Buffer to include dimensionality (#6574) 26 January 2022, 21:42:34 UTC
91ad522 Deprecate the Generator::build() method (#6580) * Deprecate the Generator::build() method 26 January 2022, 17:38:54 UTC
3e6d43b make bounds of let visitor use unique_name (#6583) 26 January 2022, 17:14:58 UTC
2008f7c Fix Win32-specific breakage in top-of-tree LLVM (#6581) (Second attempt at this; first version was landed and rolled back because the LLVM change was rolled back) 25 January 2022, 22:08:50 UTC
5f0da26 Add support for wasm-simd ops for integer-integer widening (#6567) * Add simd-extend support * Update simd_op_check.cpp * clang-format * Update CodeGen_WebAssembly.cpp 25 January 2022, 20:47:48 UTC
4030a55 Rename Output to OutputFileType and deprecated Output (#6568) * Rename Output to OutputFile and deprecated Output It would be nice in future if we could promote Generator::Input and Generator::Output to the Halide namespace. For that to happen, we need to rename the enum Output first. This adds a new name for it, and deprecates the old name. * OutputFile -> OutputType Also fix python bindings and use the right deprecation macro * OutputType -> OutputFileType * clang-format * Update python tutorials and tests 25 January 2022, 20:21:56 UTC
eff874a Remove incorrect not-multiple-of-16 claim 22 January 2022, 22:34:32 UTC
6a63609 Allow calling scheduling methods on Output<Buffer[]> (#6577) The constness of the inherited operator[] meant you couldn't call scheduling methods on array-of-output-buffer in a Generator. Fixed and added a test case. 21 January 2022, 23:20:41 UTC
f1f5c53 Fix for top-of-tree LLVM (#6579) 21 January 2022, 22:08:43 UTC
5fba150 Add `explicit` to a handful of Generator-related ctors. (#6569) * Update Generator.h * Update generators using now-forbidden ctors 20 January 2022, 18:04:36 UTC
1d46a28 Fix typo in comment in HalideBuffer.h (#6570) 20 January 2022, 00:27:14 UTC
030fe5a wasm simd cleanup (#6566) - f64x2.convert_low_i32x4_s/u is handled properly by LLVM 14, so remove the TODO stuff and leave the test special-cased for that version (don't bother trying to make it work in LLVM13) - our `float_to_double` glue is only needed for LLVM13, so update comments and ifdefs appropriately 18 January 2022, 21:23:49 UTC
77de08c [APP] Fix `hexagon_benchmarks` build (use two-var prefetch) (#6563) * Fix hexagon_benchmark build (use two-var prefetch) * tweak indent 18 January 2022, 17:43:25 UTC
cf4565b Revert "Fix for top-of-tree LLVM (#6561)" (#6564) This reverts commit a86e13deb304ae9980f941eff6adf964b013ac60. 17 January 2022, 01:19:27 UTC
1aa68fb Enable simd_op_check test for wasm i8x16.popcnt (#6562) LLVM does in fact generate this correctly, but only for 8x16 sized vectors 16 January 2022, 20:58:36 UTC
e581669 Make HALIDE_REGISTER_GENERATOR work with multiple template args (#6556) * Make HALIDE_REGISTER_GENERATOR work with multiple template args * Add missing generator to cmakefile * Can't put parens around this usage * Another attempt at stripping parens from a type Co-authored-by: Steven Johnson <srj@google.com> 14 January 2022, 17:48:42 UTC
a86e13d Fix for top-of-tree LLVM (#6561) * Fix for top-of-tree LLVM * Update LLVM_Runtime_Linker.cpp 13 January 2022, 23:34:30 UTC
b9e0e72 Use add_halide_generator() everywhere in apps/ (#6554) * Use add_halide_generator() everywhere in apps/ Existing CMake code uses add_executable + target_link_libraries to create a Generator, but the somewhat-recently-added add_halide_generator() helper is a cleaner way to do this. Move to using it everywhere in apps/ instead. (Note that add_halide_generator()) doesn't yet work for in-tree builds, unfortunately.) * fixes * fully-qualify names * Update CMakeLists.txt * Fully Qualify * LINK_LIBRARIES * make add_halide_library() do some guessing * Update HalideGeneratorHelpers.cmake 13 January 2022, 04:35:23 UTC
b811f09 Fix deprecation warnings in Python tutorials (#6552) 12 January 2022, 02:16:43 UTC
34cfde3 Fixes for top-of-tree LLVM (#6546) (#6548) 10 January 2022, 19:44:47 UTC
bc5b557 Better default lowering of absd (#6545) * Better default lowering of absd This produces 3 instructions on x86, whereas the previous version produced 5. * Switch to an x86-only solution * Fixes * Another fix. Add reference. * typo 09 January 2022, 02:55:57 UTC
4ec870d Fix description of rounding_shift_left/rounding_shift_right (#6549) 07 January 2022, 22:03:34 UTC
b8a711a Attempted redo of faster noise (#6539) * Make random 2x faster by putting the innermost var last * Improve period of low bits of random noise * Add new rewrite rules for quadratics By pulling constant additions outside of quadratics, we can shave off a few add instructions in the inner loop for random number generation, which uses a quadratic modulo 2^32 I also removed the !overflows predicates, because rules already fail to match if a fold overflows. New rules formally verified. * Make expensive_zero actually always zero * Partially revert new simplifier rules * Enable new rules * Revert test Co-authored-by: Steven Johnson <srj@google.com> 07 January 2022, 18:57:42 UTC
daa5b7c Convert apps/hannk/Elementwise to use generate() (#6543) It's the only Generator in Halide that uses build() instead of generate() (aside from tests designed specifically to test build()); convert it to keep things nice and consistent. 06 January 2022, 18:05:15 UTC
6f7d5ce Revert "Make it possible to interpret a wide type as multiple smaller elements (#6506)" (#6541) This reverts commit 1b180a8e93339aac2d19db57d2ef99b67253a0bc. 06 January 2022, 00:12:51 UTC
935c05e Fix GeneratorOutput_Buffer::set_estimates() (#6540) The existing wrapper wouldn't work for Outputs that have Tuple-valued elemets. 05 January 2022, 21:46:06 UTC
95737be Update CMake documentation (#6535) * Allow third parties to externally override SOVERSION Debian and other third-party packagers might need or want to patch our sources for a variety of reasons. In those cases, they might also need to override the SOVERSION. See here for a practical example: https://salsa.debian.org/pkg-llvm-team/halide/-/blob/f881de70cd83095053e13047b63f61faf6bc7a36/debian/patches/0006-Fixup-libhalide-version-soversion-for-debian-package.patch * Update CMake documentation. * Fix typo * Add link to ToC 05 January 2022, 21:45:18 UTC
7bb8198 Allow third parties to externally override SOVERSION (#6534) Debian and other third-party packagers might need or want to patch our sources for a variety of reasons. In those cases, they might also need to override the SOVERSION. See here for a practical example: https://salsa.debian.org/pkg-llvm-team/halide/-/blob/f881de70cd83095053e13047b63f61faf6bc7a36/debian/patches/0006-Fixup-libhalide-version-soversion-for-debian-package.patch 05 January 2022, 21:44:36 UTC
f8459da Remove unnecessary `std::move` calls (#6537) Compilers with `-Werror` will fail with `error: moving a temporary object prevents copy elision` 05 January 2022, 19:10:34 UTC
back to top