https://github.com/halide/Halide

sort by:
Revision Author Date Message Commit Date
d76970a Fix apps/HelloPyTorch 09 February 2021, 22:32:19 UTC
fe0888b Refactor code for dealing with default values of scalar Params (#5720) The "default" value for a scalar param is rarely used -- it's currently only possible to specify foran Input in a Generator, and that value only shows up in the generated metadata for AOT compilation. This PR refactors this so that instead of being maintained solely as a hack in Generator data structures, it's moved into Parameter as its own field. This seems like a lot of work some something of marginal use, but I'm reluctant to suggest removing it entirely (it's possible it could break someone's code), and refactoring it in this way will make some subsequent Generator refactoring easier to understand and review. 09 February 2021, 18:00:58 UTC
3fbb12a Add support for AVX512 BF16 dot product (#5712) * Add support for AVX512 BF16 dot product * Match on f32*f32 * Remove f32 check 09 February 2021, 18:00:02 UTC
3e034d6 Remove unnecessary #include from RDom.cpp (#5718) 08 February 2021, 23:05:30 UTC
1b22dfe Add support for AVX512 f32x32 to bf16x32 conversion (#5711) The vcvtne2ps2bf16 instruction combines two f32x16 vectors and converts them to one bf16x32 vector. We can use this to support converting a f32x32 vector to bf16x32 vector by splitting the input vector into two. 05 February 2021, 20:06:34 UTC
8ee7f4c Add mux intrinsic (#5707) Add mux intrinsic 05 February 2021, 20:01:32 UTC
27be859 Deprecate old-style realize() methods (#5676) * Deprecate old-style realize() methods We had 5 extra variants of realize() (for 0-dim thru 4-dim cases); these are a holdover from both having a limit of 4 dimensions (ie, pre-halide_buffer_t) and also from pre-C++11 (ie, passing in initializer-lists of int was less convenient). Let's deprecated these for Halide 12 and remove them in Halide 13. 05 February 2021, 19:58:54 UTC
32d5f71 Don't make new IR nodes if nothing changed when simplifying (#5698) * Don't make new IR nodes if nothing changed Some statements and expressions get crafted anew each time when repeatedly resimplified. This PR fixes all the cases I could find. 05 February 2021, 00:44:07 UTC
3c0b9e4 Provide wrapper around 128 bit cvtneps2bf16 (#5704) * Provide wrapper around 128bit cvtneps2bf16 * Include module with AVX512 feature Co-authored-by: Steven Johnson <srj@google.com> 04 February 2021, 18:43:22 UTC
793b7f6 HalideBuffer: cast offset operand to ptrdiff_t to avoid overflow (#5706) * HalideBuffer: cast offset operand to ptrdiff_t to avoid overflow * HalideBuffer: cast offset_of operand to ptrdiff_t to avoid overflow * HalideRuntime: ptrdiff_t casts to avoid overflow 04 February 2021, 17:40:41 UTC
a0fc7fa Add fixes to overflow analysis in bounds inference (#5618) * add fixes to overflow analysis in bounds inference Co-authored-by: Steven Johnson <srj@google.com> 04 February 2021, 01:13:53 UTC
dadbcbf Check Sapphire Rapids AVX512BF16 support in runtime (#5702) The Sapphire Rapids target feature controls whether BF16 and VVNI X86 instructions are emitted. Support for both of these is checked in the Halide compiler, but BF16 is not checked in the runtime as it required extending the cpuid functionality. Now we have that cpuid functionality we can add the BF16 check. 03 February 2021, 21:58:00 UTC
f64525e [HVX] Correct simd-op-check-hvx (#5703) Add "+hvxv6x" to mattrs Correct isa_version in simd_op_check_hvx Co-authored-by: Ankit Aggarwal <aankit@quicinc.com> 03 February 2021, 19:29:29 UTC
d8c95dd Capture Exprs by ref in IRMatch (#5696) * Capture Exprs by ref in IRMatch * Forbid rvalue Exprs passed to IRMatcher nodes * Clarify what is_const refers to * Fix min int constant * Add explanatory comment * Remove assert that was blowing up simplifier stack frames 03 February 2021, 17:38:21 UTC
c3cb54b Add missing headers (#5700) 03 February 2021, 16:49:38 UTC
bdfa994 async deserves its own line (#5701) 03 February 2021, 16:47:16 UTC
3ba8691 fix lens_blur estimates (#5694) 03 February 2021, 00:21:48 UTC
265f2c7 Add initial support for Sapphire Rapids AVX512 features (#5677) * Add Sapphire Rapids target feature * Add initial avx512_sr test * Guard against earlier LLVM versions * Move feature to other AVX512 features * Set earlier features when SapphireRapids selected * trigger buildbots * Add SapphireRapids to get_runtime_compatible_target * Add issue link to TODO comments * Add user errors if using unsupported feature 02 February 2021, 22:04:41 UTC
89329d3 Disable generator_aot_gpu_multi_context_threaded under wasm (#5692) Re-enabled wasm testing, which revealed breakage of the generator_aot_gpu_multi_context_threaded target (the runtime isn't being linked properly). Since this test isn't useful under wasm at the present time anyway (relies on GPU support), just skipping it entirely for those targets. 02 February 2021, 19:36:21 UTC
99c5583 [adams2019] Restructure autoscheduler + add timer (#5654) * add feature caching and block caching to adams2019 autoscheduler * added caching verification for feautures * clean up TODOs and commented out src * add docstring * clean up final TODOs * rm double declaration * make clang format happy * rm stats that caused linker error * fix cmake * fix clang format too * remove caching from adams2019 restructuring * move unnecessary member functions + add descriptions for State member functions * fix clang tidy in LoopNest.* * add top level comment to State struct 02 February 2021, 17:49:31 UTC
100bc76 Add ecx support for runtime X86 cpuid (#5684) * Add ecx support for runtime X86 cpuid Some newer X86 extensions require setting ecx when calling cpuid, for example AVX512BF16 support is queried using cpuid(eax=7, ecx=1). * trigger buildbots Co-authored-by: Steven Johnson <srj@google.com> 02 February 2021, 17:47:34 UTC
f941376 Lower halving_* intrinsics without widening (#5686) * Lower halving_* intrinsics without widening * Fix typo * Extend the test to check for correctness of the halving_* lowering * Change vector to array 02 February 2021, 04:12:21 UTC
25eeea1 ScopedFile in write_debug_image needs sanity check (#5689) Specifically, don't call fclose() on a null ptr, as that can crash. Also added some code to avoid implicit int->bool conversions. 01 February 2021, 23:11:24 UTC
a471e59 Add a spin before the cond_wait in the thread pool (#5408) * Add a spin before the cond_wait in the thread pool * Spin on a mutex even if someone is parked 01 February 2021, 21:01:56 UTC
9743fca Make GPU kernel compilation caching consistent across GPU backends. (#5546) Make GPU context handling more consistent and use a common compilation cache for kernels. Introduces a finalization routine for kernel compilation to indicate when kernels are not strictly required to be defined. Thus allowing them to be unloaded or discarded, but not when they are needed. Co-authored-by: Steven Johnson <srj@google.com> Co-authored-by: Marcos Slomp <slomp@adobe.com> 01 February 2021, 19:50:40 UTC
e517946 Delete llvm_builder.yml (#5685) 01 February 2021, 19:27:24 UTC
1155bda Avoid bogus out-of-memory error for multiple_scatter under wasm (#5681) 29 January 2021, 21:31:06 UTC
6118a62 Disable a few more wasm-simd ops in simd_op_check (#5679) Recent changes to the final wasm-simd spec means that some instructions aren't being generated (and may not even exist in the same form). Commented out for now; we need to revisit this once the LLVM backend for wasm gets closer to up-to-date with the final spec. 29 January 2021, 17:27:30 UTC
288526c Encapsulate a few more symbols (#5672) * Encapsulate more symbols. 28 January 2021, 17:52:16 UTC
f427ad1 Remove deprecated variants of infer_input_bounds() in the Python bindings (#5673) * Remove deprecated variants of infer_input_bounds() in the Python bindings The C++ versions were removed for Halide 12 already, but I missed the Python wrappers. * trigger buildbots 28 January 2021, 17:51:11 UTC
813eadc Fix target detection for i686 (#5675) 28 January 2021, 09:41:44 UTC
a8299b5 Allow LLVM-13 and Clang-13 (#5674) 27 January 2021, 21:22:40 UTC
6e3fb56 FIx intermittent OSX Python crash (#5667) * FIx intermittent OSX Python crash The OSX buildbot has been crashing intermittently on some python tests; debugging showed that in some situations, Introspection's calls to `backtrace()` include bogus addresses (eg 0x08), which cause segfaults when you try to inspect memory near them. The reasons for this aren't entirely clear -- for instance, it only seems to repeat reliably when using the Makefile rather than CMake, and only when doing an 'out-of-tree' build. Rather than try to run this to ground further, this PR just checks for address fields that seem obviously unreasonable (first 256 bytes of address space) and ignore them. * Add -fno-omit-frame-pointer, update sanity check * Update Introspection.cpp 26 January 2021, 04:09:53 UTC
d4c27ca Lower saturating arithmetic without widening (#5662) * Lower saturating arithmetic without widening, and handle it in lower_intrinsic. * clang-format, fix saturating sub * cout -> cerr * trigger buildbots Co-authored-by: Alex Reinking <alex.reinking@gmail.com> Co-authored-by: Steven Johnson <srj@google.com> 25 January 2021, 21:51:57 UTC
38be3e3 Add rounding shift right instructions (#5664) Co-authored-by: Ankit Aggarwal <aankit@quicinc.com> 23 January 2021, 01:06:20 UTC
7cff481 Fix VSX min/max intrinsics. Fixes #5661. (#5663) 22 January 2021, 21:18:47 UTC
6b398a3 Better codegen for switch-statement-like if-else chains (#5595) Better codegen for switch-statement-like if-else chains And added a test that demonstrates writing a little interpreter in Halide and scheduling it. 22 January 2021, 18:23:48 UTC
8c57a1a Use linker tools on OSX & Linux to limit exports (#4651) (#5659) * Use linker scripts on OSX & Linux to limit exports * Write script to detect appropriate linker flags. Co-authored-by: Alex Reinking <alex.reinking@gmail.com> 21 January 2021, 22:07:20 UTC
be7a6a3 is_positive_const and is_negative_const broken for (some) casts (#5615) * let signed_const checkers fail for non-widening integral casts Co-authored-by: Steven Johnson <srj@google.com> 21 January 2021, 21:23:43 UTC
0ca0415 Remove all deprecated methods for Halide 12 (#5656) * Remove all deprecated methods for Halide 12 These were all marked as deprecated in Halide 11 (and probably Halide 10 too); let's go ahead and remove them in Halide 12. * Remove function bodies too 21 January 2021, 01:59:10 UTC
a785b53 Add Lambda.cpp (#5651) Functions/methods that are part of the Halide public API should (generally) not be inline, to ensure the function instantiation is always in libHalide. 20 January 2021, 02:25:51 UTC
7713b3a Add Python & PyBind version checking to PyStubImpl.cpp (#5653) It's built separately from the rest of the Python bindings and could get out of sync separately. 20 January 2021, 02:25:27 UTC
57083e4 Fix cuda warp shuffle issue for narrow types (#5624) * Fix cuda warp shuffle issue for narrow types In the case where no shuffle was necessary, we were upcasting the type to 32-bits needlessly and causing chaos. 19 January 2021, 17:44:27 UTC
8a12c43 Upgrade pybind11 to 2.6.x (#5644) * Use pybind11 2.6.0, which fixes Python-finding bugs. * Update Generator.cpp * Update Generator.cpp * Update PyHalide.cpp * 2.6.0 -> 2.6.1 Co-authored-by: Steven Johnson <srj@google.com> 18 January 2021, 18:53:20 UTC
42c5182 Shrink tile size to fit in Mac Mini GPU memory. (#5647) * Shrink tile size to fit in Mac Mini GPU memory. * Fix comment per Shoaib's correction. 15 January 2021, 19:34:45 UTC
bb1ca3c correctness_vector_math: skip hypot() test for LLVM10 (#5643) 14 January 2021, 22:57:28 UTC
722b93e Add 11.1 as an acceptable LLVM version (#5640) * Add 11.1 as an acceptable LLVM version Apparently 11.1 was released but our Makefile only allows for 11.0. * Update Makefile 13 January 2021, 20:27:12 UTC
61ca4d2 Simplify CodeGen_OpenGLCompute_C (#5636) * Simplify CodeGen_OpenGLCompute_C Combines CodeGen_GLSLBase and CodeGen_OpenGLCompute_C into one class, removing unnecessary stuff from the OpenGL support code. 13 January 2021, 20:12:26 UTC
0dfdc0d fix typo on assert in lerp() (#5638) 13 January 2021, 08:11:56 UTC
6620563 Add TARGET_OPENGLCOMPUTE (#5637) Inadvertently removed code for properly enabling/disabling OGLC in #5626, this restores it properly 13 January 2021, 01:06:52 UTC
4ed4db8 Remove CodeGen_OpenGL_Dev (#5635) 5626 removed OpenGL support, but didn't remove this no-longer-needed class; removed it here. Moved CodeGen_GLSLBase into CodGen_OpenGLCompute_Dev.cpp (which is now the only subclass), but didn't yet attempt to consolidate them into a single class. 12 January 2021, 23:09:16 UTC
3defb66 Pattern match intrinsics in a target independent lowering pass (#5531) * Simplify intrinsics of broadcasts to broadcasts of intrinsics. * Add pattern matching of intrinsics lowering pass. * Fix broadcast elementwise simplifications for nested broadcasts. * More target independent pattern matching. * Progress on pattern matching for ARM and Hexagon. * broadcasted -> broadcast. * Broken pattern matching. * Fix broken build. * Match without patterns. * Try to match saturating_add. * Pattern matching working for some intrinsics. * x86 simd_op_check passing. * Most x86 and Hexagon patterns working. * Rename subtract -> sub, multiply -> mul. * Add widening_left_shift. * Remove bad simplification. * Fix some missed pattern issues. * Hexagon patterns mostly working. * Fix pmaddwd patterns * Start on ARM intrinsics. * Use shift intrinsics. * Revert formatting of Hexagon intrinsic table * Revert one extra find and replace. * Add table of instructions for ARM. * Add more patterns for rounding_halving_add. * Remove unused unsigned widening subtracts * Add intrinsics test * Remove bogus patterns. * Match lanes in shifts. * Progress on multiply-add Hexagon pattern matching. * Fix multiply-subtracts * Enable constant folding of broadcasted constants. * Fix some widening patterns * Fix double widening lossless casts * Use widen/narrow helpers * All Hexagon and x86 patterns working * Fix return type of widening subtracts. * Fix rounding shift right patterns * WIP simd op check * Add CodeGen_LLVM::Intrinsic and related helpers. * Use call_elementwise_intrinsic for more patterns. * Clean up intrinsics a bit. * Use call_elementwise_intrinsic for x86. * More clean-up and comments. * Add comment * Use call_elementwise_intrinsic for pmaddwd * Remove stray comment. * Move a few more things to overloaded intrinsics * Remove unused runtime functions. * Fix some corner case target flags * ssse... * Run clang-format * Replace introspection test. * Remove x86_avx512 initmod * clang-tidy * Remove x86_avx512 from makefile too * Revert simd_op_check * clang-format off on tables * Fix merge conflicts * Add abs and absd support * Pattern match some absd patterns * Clean up dead logic. * Remove duplicate merge content. * Update Generator.cpp * Update Generator.cpp * Also check one sided saturating add. * Fix requirement for abs_i8x32 * Fix some saturating add/sub patterns. * More ways to express rounding halving add/sub * Add widening_shift_right * Use lower_intrinsic to handle unknown calls. * Use pattern match results. * Fix incorrect patterns * All(?!) ARM shifts working * Remove unused declarations * Don't substitute all lets * Reduce code duplication in tables * Simplify negated shifts. * Handle possible pmaddwd overload resolution failures. * Fix some overflow cases. * Small cleanups. * Review fixes * Fix some broken patterns * Don't hardcode 4 * PatternMatchIntrinsics -> FindIntrinsics * Re-enable uhsub patterns * Add useful simplication to lower_int_uint_mod * Lower unknown intrinsics. * Also check for bitwise_and * Simplify bitwise_and(x, -1). * Add back some necessary simplifications. * Fix incorrect narrowing of widening add/sub. * Fix boneheaded add/sub swap. * Skip finding intrinsics for scalar types. * Add accidentally removed break. * Improve comments. * clang-format, clang-tidy, and other fixes * Try to fix compiler-specific errors, more clang-tidy. * More clang-tidy fixes. * Tweak comments on rounding_shift_left/right. * Move default mulhi_shr and sorted_avg lowering to lower_intrinsics. * Argh clang-format. * Better coverage of shift correctness. * Fix unknown intrinsic visitor. * Add comments to rounding shifts. * Add TODO for C++14 * Use pattern matching for vector reduce. * Simplify pattern matching a little. * Remove stray newline in vectorreduce ops. * Add HL_SIMD_OP_CHECK_FILTER env variable * Fix and refactor vector reduce codegen * clang-format * pmulhrsw doesn't exist until sse3! * Fix incorrect lack of fall-through * Don't lower int/uint division in FindIntrinsics. * Fix missing check of op type. * Don't handle Mod at all. * Programmatically generate split argument intrinsic wrappers. * clang-format * More clang-format * Clean up IRMatch helpers. * Small cleanups/review comments. * Fix boneheaded bug. * Fix addp * Fix float addp * Fix incorrect rounding shift saturation patterns. * Update Hexagon vector reductions. * clang-format * Small cleanups. * clang-tidy * Fix sign of shifts on arm32 * Fix LLVM10 workaround * Work around opaque LLVM failures. * Pattern match dp4a/dp2a * clang-format * Don't try to use shift_right_narrow patterns on invalid shifts. * Don't rely on mul visitor to produce shifts. * Fix arm32 * Address some review comments. * Speculatively fix non-locally-reproducing dot product failures * Fix CUDA dot products. * clang-format * Remove debugging code. * clang-tidy * Put needed check back. * Bring back some tests/patterns. * Renable saturating_add pattern. * Bring back a few more tests. * Fix mixed sign swapped ops case. * Better implementation of handling mixed signs. * Fix some issues. * Avoid ADL fights with common user helper functions. * Don't try to find intrinsics for bool operations. * Remove redundant patterns. * Bring back div/mod lowering. * Update PowerPC to use pattern matched intrinsics. Co-authored-by: Steven Johnson <srj@google.com> 12 January 2021, 23:02:59 UTC
27f55dd Remove OpenGL support (part 1) (#5626) * Remove OpenGL support (part 1) Fixes #5475 This removes the OpenGL backend (but *not* the OpenGLCompute backend) from public use: - Remove Target::OpenGL - remove DeviceAPI::GLSL - remove Func::glsl() and Func::shader() - remove all OpenGL-specific apps and tests - remove HalideRuntimeOpenGL.h - remove some internal code that is OpenGL-only Note that there is still internal code that needs trimming; since the OpenGLCompute backend uses some of the same code, and some of the same build deps, and some of the same runtime shared-library loading, I tried to err on the side of leaving code/buildrules/etc in place for now, with the plan to clean that up in subsequent PRs. Note also that feature Target::EGL is still present, as I believe it is still useful in conjunction with OpenGLCompute. 12 January 2021, 17:55:36 UTC
9b99acb Clean up includes (#5584) * Remove unused wildcard/type info. * Use std::unique_ptr to avoid sketchy lifetime management. * Clean up includes * Pull some changes from small-cleanups3 * clang-format * Add missing include. * Add missing include. * clang-format. * Fix function type * clang-format * Add missing include Co-authored-by: Steven Johnson <srj@google.com> 11 January 2021, 21:25:36 UTC
cc03c9c Prototype of multiple scattering update definitions (#5553) Add "gather" and "scatter" intrinsics, which let you write update definitions which store multiple values at once to different computed locations. Useful for doing things like swapping or permuting elements in-place. See comments in IROperator.h for more details. 09 January 2021, 00:28:07 UTC
9c59d94 Set version to 12.0.0. Fixes #5259 (#5289) 09 January 2021, 00:22:40 UTC
2e5f1e0 Fix issues in OpenGL backend (#5545) Co-authored-by: Alex Reinking <alex_reinking@berkeley.edu> Co-authored-by: Steven Johnson <srj@google.com> Co-authored-by: Alex Reinking <alex.reinking@gmail.com> 09 January 2021, 00:06:05 UTC
392b53e Check error results from all egl calls (#5619) * Check error results from all egl calls We were ignoring the result from a couple of calls. * Update opengl_egl_context.cpp * Update Generator.cpp * Update Generator.cpp 08 January 2021, 23:21:24 UTC
2b3aaa8 Add max threads checking for Metal (#5588) * Add max threads checking for Metal Originally, this checking will be asserted by Metal API Validation in Xcode, otherwise the program will crash or output wrong results. * Disable the max threads checking for Metal in non-debug runtime * Disable error/metal_threads_too_large test for non-OSX target 08 January 2021, 19:46:56 UTC
081f472 Add CLDoubles feature check for OpenCL double type (#5610) Similar to CLHalf feature check for half type. 07 January 2021, 22:49:08 UTC
46fc56a Don't allow CUDACapability80 on LLVM10 (#5617) LLVM10 can't handle that version of Cuda; we never noticed till now because we didn't have a buildbot with a GPU that could handle it. Modify the sniffers to cap capability at 75 for LLVM10 builds, and fail with user errors if that capability is explicitly requested. 07 January 2021, 18:29:38 UTC
f38801e Use std::unique_ptr to manage CodeGen classes (#5583) * Remove unused wildcard/type info. * Use std::unique_ptr to avoid sketchy lifetime management. * Pull some changes from small-cleanups3 * Use auto for some loops. * clang-tidy 06 January 2021, 17:52:38 UTC
8063879 replaced indentation in line 20 with spaces to show proper error message (#5580) * replaced indentation in line 20 with spaces to show proper error message * added error message detail with alternative solution based on PR feedback 05 January 2021, 21:50:53 UTC
8383cc9 Delete lane extraction code in vectorization (#5596) 28 December 2020, 23:49:45 UTC
890a519 Fix build on FreeBSD/powerpc64 (#5572) * Fix build on FreeBSD/powerpc64 FreeBSD doesn't use getauxval, but elf_aux_info. * Make the conditional only work Linux and FreeBSD * Make the conditional only for FreeBSD and Linux 23 December 2020, 01:15:44 UTC
8a0f4a1 Fix sketchy shadowing that breaks on some compilers. Fixes #5581 (#5587) * Fix sketchy shadowing that breaks on some compilers. Fixes #5581 * Fix another sketchy shadowing. 22 December 2020, 01:54:36 UTC
b22598c Remove unused wildcard/type info. (#5582) 21 December 2020, 22:56:00 UTC
5ac8808 Fix several bugs on Hexagon and some cleanup (#5570) * Fix several bugs on Hexagon. * clang-format actually found a bug 21 December 2020, 21:54:37 UTC
1dbcf19 Decouple wasm's +bulk-memory from wasm_threads (#5574) * Decouple wasm's +bulk-memory from threads When `wasm_threads` was added, `+bulk-memory` codegen was enabled in conjunction with this feature, due to some inscrutable error which apparently didn't get recorded. From inspection of the spec for bulk-memory, and experimentation with the most recent version of Emscripten (2.0.10), I can't find any reason that this actually needs to be enabled, so I've moved it into its own new feature flag. Also: drive-by fix in Target to format the tables in `get_runtime_compatible_target()` better, and to remove some wasm-related entries from the 'must match' table that didn't actually need to match. * Create .gitignore 21 December 2020, 17:08:20 UTC
ef45c87 Fix for trunk LLVM (#5576) 19 December 2020, 00:45:34 UTC
83b040d Add a feature to name cached memoizations and to evict them by name. (#5510) This PR adds an optional ```EvictionKey``` parameter to the ```memoize``` scheduling option. EvictionKeys are user provided labels of up to 64-bits that can be used to request that labeled items in the cache be removed to free up space. Co-authored-by: Steven Johnson <srj@google.com> 17 December 2020, 21:40:16 UTC
590b253 D3D12: refactoring of kernel argument constant buffer packing (#5569) * initial setup for Direct3D 12 support for Windows-on-ARM * fixing runtime modules for Windows on ARM 64 * typo * wrapping windows_clock for Windows on ARM support * temporarily disabling windows_clock_[x86/arm] * wip * Set -fshort-wchar on generic Windows runtime target. * removing windows_clock specializations * replacing accidental tabs * addressing code review comments * Hoist fpic in CMakeFile. Mirror CMake changes to Makefile. * Add explanatory comment to Makefile * Add arm64-windows and -windows-d3d12compute targets to correctness_cross_compilation * fixed kernel parameter packing * Run clang-format * handling Bool -- UInt(1), and Int(1) as well just in case * Add previously-failing D3D12 test * Add new test to CMake Co-authored-by: Marcos Slomp <slomp@adobe.com> Co-authored-by: Shoaib Kamil <kamil@adobe.com> Co-authored-by: Shoaib Kamil <shoaibkamil@gmail.com> Co-authored-by: Steven Johnson <srj@google.com> 17 December 2020, 19:22:09 UTC
7fd3a7b Windows on ARM64 support (CPU, and also GPU through D3D12) (#5544) * initial setup for Direct3D 12 support for Windows-on-ARM * fixing runtime modules for Windows on ARM 64 * typo * wrapping windows_clock for Windows on ARM support * temporarily disabling windows_clock_[x86/arm] * wip * Set -fshort-wchar on generic Windows runtime target. * removing windows_clock specializations * replacing accidental tabs * addressing code review comments * Hoist fpic in CMakeFile. Mirror CMake changes to Makefile. * Add explanatory comment to Makefile * Add arm64-windows and -windows-d3d12compute targets to correctness_cross_compilation Co-authored-by: Marcos Slomp <slomp@adobe.com> Co-authored-by: Shoaib Kamil <kamil@adobe.com> Co-authored-by: Shoaib Kamil <shoaibkamil@gmail.com> 16 December 2020, 23:23:50 UTC
10a01dd Move CodeGen_Hexagon to internal linkage and don't include it without WITH_HEXAGON (#5567) * Move CodeGen_Hexagon to internal linkage. * Move using out of the #ifdef * clang-tidy 16 December 2020, 23:08:32 UTC
0cfa6db Fix minor wasm issues (#5566) * Fix minor wasm issues - If wasm_threads is in the target string, be sure to launch the external shell with --experimental-wasm-threads. - All the test/performance tests should detect wasm and explicitly skip * Disable noisy warning in WABT 16 December 2020, 18:19:52 UTC
34d35a3 Add special case for printing broadcast shuffles. (#5565) 16 December 2020, 18:18:36 UTC
94da4f6 autoscheduler: prepend, don't override LD_LIBRARY_PATH in adams2019 test (#5563) 15 December 2020, 22:18:36 UTC
fef82c2 cmake: detect ppc64le arch (#5558) 15 December 2020, 17:57:59 UTC
a0bbf43 Fix fragile Makefile for apps/onnx (#5540) The protoc usage happened to work when building in the app folder but often failed when building from the toplevel Makefile. Also, drive-by silencing of noise from curl, and drive-by fix of "redundant copy" warning in onnx_converter.cc. 15 December 2020, 17:57:33 UTC
ee2e5df Upgrade WABT version to 1.0.20 (#5557) 15 December 2020, 17:57:00 UTC
d37b995 Better document how LLVM_DIR works. (#5560) 14 December 2020, 23:04:36 UTC
9fea59f Bug fix for lossless_cast with minor additions (#5459) * Bug fix for lossless_cast with minor additions The bug can seen for types where lossless_cast type can represent cast->value.type() but not cast->type. For eg: lossless_cast(UInt(16), cast(Int(8), Variable::make(UInt(16), e))) returns (uint16)e which is incorrect. The patch also adds lossless_cast of Mod and Ramp expressions. * Handle Mod for negative numbers in lossless_cast. * Add lossless_cast test for VectorReduce. * Rename check to check_lossless_cast. * clang-format complains * Remove Ramp and Mod from lossless_cast. * Minor changes * Update test/correctness/CMakeLists.txt Co-authored-by: Ankit Aggarwal <aankit@quicinc.com> 14 December 2020, 17:01:27 UTC
ed8f7c2 Hide inaccessible symbols in internal linkage (#5548) * Hide inaccessible symbols in internal linkage. * clang-format * Remove redundant static. 14 December 2020, 04:46:38 UTC
f9153e8 Mark Target::OpenGL (etc) as deprecated (#5475) (#5551) 13 December 2020, 22:19:38 UTC
4fa78b6 change StrongestExprNodeType for rewriter (#5554) 13 December 2020, 18:34:17 UTC
a0ddabe Remove <iostream> from the code generated by CodeGen_C (#5547) 12 December 2020, 00:16:35 UTC
968f6b3 VectorReduce peephole matching for Hexagon (#5424) * CodeGen for VectorReduce for Hexagon * Remove use of MAKE_ID_PAIR. * Fix clang-format errors. * Spelling correction. * Address comments from PR. Use Shuffle::make_concat instead of vcombine. * Remove IROperator changes. * Address comments * Move even-odd shuffling for vrmpy to runtime .ll func * clang-format + hvx_128 changes.ll changes * clang-format * Minor changes * Minor changes * interchange vshuffvdd operand Co-authored-by: Ankit Aggarwal <aankit@quicinc.com> Co-authored-by: Steven Johnson <srj@google.com> 10 December 2020, 21:32:56 UTC
ad414e2 Add possible simplify to GL(Compute) `pow` function (#5517) OpenGL(Compute) generates `select` IR for `pow(a, b)` function, which can be simplified when `a` or `b` is const. 10 December 2020, 17:10:50 UTC
5e526d4 Modify memoization code to allow using min/extent/stride of an input. (#5542) Modify memoization code to allow using min/extent/stride of a buffer as part of memoization without wrapping in memoize_tag. This seems reasonable and failure to support this causes tricky to diagnose errors if one uses the extent of an input in an RDom that is then used in a memoized Func. The code pattern here is a bit heuristic in that I can't think of a case where a Var has a buffer but the reference isn't to a *field* of the buffer. If this turns out to be incorrect or to become invalid in the future, the code could be extended to pattern match the variable name. 10 December 2020, 09:40:20 UTC
382c807 Update images used in apps/ tests (#5538) Some of them weren't the same as the Make equivalents, which meant that the test diverged between the two build systems (sometimes causing failures due to too-large images). 09 December 2020, 12:06:57 UTC
b83de89 Pathnames may or may not be absolute so loosen comparison to allow for this. (#5535) 09 December 2020, 04:25:41 UTC
873c8f1 Solve the COMDAT in runtime failing on Mac OS X problem once and for all. (#5532) Solve the COMDAT in runtime failing on Mac OS X problem once and for all by removing Comdat IR annotations in runtime on Mac OS and iOS. 08 December 2020, 21:39:04 UTC
42b1a6e Add overloaded intrinsic mechanism to simplify code generation (#5527) * Add table of instructions for ARM. * Add CodeGen_LLVM::Intrinsic and related helpers. * Use call_elementwise_intrinsic for more patterns. * Clean up intrinsics a bit. * Use call_elementwise_intrinsic for x86. * More clean-up and comments. * Add comment * Use call_elementwise_intrinsic for pmaddwd * Remove stray comment. * Move a few more things to overloaded intrinsics * Remove unused runtime functions. * Fix some corner case target flags * ssse... * Run clang-format * Replace introspection test. * Remove x86_avx512 initmod * clang-tidy * Remove x86_avx512 from makefile too * Revert simd_op_check * clang-format off on tables * Update Generator.cpp * Update Generator.cpp * Fix requirement for abs_i8x32 * Review fixes * Temporarily work around webassembly strangeness. Co-authored-by: Steven Johnson <srj@google.com> 08 December 2020, 01:11:28 UTC
7f70907 Combine align and slice for the small vectors in align_loads (#5497) * Combine align and slice for the small vectors in align_loads * Fix format 07 December 2020, 17:17:14 UTC
1800dc2 Simplify a slice of slice (#5495) * Simplify a slice of slice * Fix format * Simplify for slice of concats + tests * format * format * New line to improve readability Co-authored-by: Steven Johnson <srj@google.com> 07 December 2020, 01:45:39 UTC
bd53b47 Allow creation of IntImm/UIntImm with any number of bits up to 64 (#5441) * Allow creation of IntImm/UIntImm with any number of bits up to 64 * Changes: - check that the number of bits is >= 1 - modify upgrade_* functions - allow printing of type with arbitrary number of bits. * Fix format * next_power_of_two which will end Co-authored-by: Steven Johnson <srj@google.com> 06 December 2020, 20:39:26 UTC
7ea09cd Point fft JIT tests to Halide binary (#5521) 06 December 2020, 07:38:56 UTC
d325e13 Add simd_op_check tests and a few more patterns (#5519) * Add simd_op_check coverage of some ARM ops we generate. * Remove local filter option. * Fix expected patterns for arm32. 04 December 2020, 16:38:05 UTC
c1885fc Fixes to bounds inference on shift_left (#5477) * Add shift_left fix for signed integers by possibly negative values + regression test * add required condition on shift_left integer fix * add type check to shift_left minimum condition * fix constant folding of shifts with |b| >= type.bits() for types that allow overflow (failes correctness/simplify test) * make regression tests use scoped bindings * change condition in case int24/int48 proposal happens soon * revert changes based on overflow expectations * add more regression tests * clarify comment * add shift_left min handler for b only UB * fix clang-tidy complaint * relax shift_left of non-negative value constraint * pull case outside of unnecessary preconditions * fix clang-format complaint * fix broken precondition * add typecheck to possibly save a can_prove() call * add easy-out type check to precondition * Add descriptive comment to bug fix + add another early-exit precondition Co-authored-by: Steven Johnson <srj@google.com> 04 December 2020, 00:14:07 UTC
28f9aef Enable commented clang-format option. (#5520) 03 December 2020, 22:05:21 UTC
back to top