cc61392 | Steven Johnson | 15 April 2020, 17:21:10 UTC | Add HALIDE_STATIC_CONSTEXPR For clients compiling with C++17, using `static constexpr` (rather than `static const` for static member variables initialized inline. (This has little effect on our current codebase -- the issues it fixes are ones we don't encounter, obviously -- but it tracks minor cleanup work we'll want to do once we decide to require C++17 as a baseline for Halide.) | 15 April 2020, 17:21:10 UTC |
a34b55a | Steven Johnson | 15 April 2020, 17:04:26 UTC | Merge pull request #4854 from halide/srj-winweak Remove 'weak' from extern-Function declarations in AOT | 15 April 2020, 17:04:26 UTC |
24aec60 | Steven Johnson | 14 April 2020, 18:29:10 UTC | Remove 'weak' from extern-Function declarations in AOT | 14 April 2020, 23:36:58 UTC |
bd59858 | Steven Johnson | 14 April 2020, 19:53:06 UTC | Merge pull request #4852 from halide/make_member_function_const Add const to some methods that can be const | 14 April 2020, 19:53:06 UTC |
f19ceca | Steven Johnson | 14 April 2020, 17:53:31 UTC | Merge pull request #4850 from halide/add_image_checks_simplifier_changes Add image checks simplifier changes | 14 April 2020, 17:53:31 UTC |
197ba6c | Andrew Adams | 14 April 2020, 01:55:43 UTC | Merge remote-tracking branch 'origin/master' into add_image_checks_simplifier_changes | 14 April 2020, 01:55:43 UTC |
52d87fe | Andrew Adams | 14 April 2020, 01:51:21 UTC | x - min(...x...) cancellation rules Formally verified, but not synthesized. | 14 April 2020, 01:51:21 UTC |
b248f94 | Andrew Adams | 14 April 2020, 00:32:17 UTC | Add more cancellation rules for min/max subtractions These rules aren't complex, but it's notable that they were machine synthesized and verified. | 14 April 2020, 00:32:17 UTC |
42c6b43 | Andrew Adams | 13 April 2020, 23:51:33 UTC | Add const to some methods that can be const These were found with a clang-tidy checker, but the clang-tidy checker also suggested adding const to a bunch of places where it would be technically correct but misleading due to const not being transitive (e.g. mutating a member via a pointer). | 13 April 2020, 23:51:33 UTC |
4b0b2ec | Andrew Adams | 13 April 2020, 23:14:52 UTC | Make sure simplify_correlated_differences doesn't hop over inner constants that shadow outer non-constants | 13 April 2020, 23:14:52 UTC |
584a4a0 | Andrew Adams | 13 April 2020, 22:51:42 UTC | Merge pull request #4849 from halide/reverse_topological_order We want reverse topological order for let bounds | 13 April 2020, 22:51:42 UTC |
409a037 | Andrew Adams | 11 April 2020, 20:30:34 UTC | Merge remote-tracking branch 'origin/master' into add_image_checks_simplifier_changes | 11 April 2020, 20:30:34 UTC |
1bcb0a0 | Andrew Adams | 11 April 2020, 20:21:21 UTC | It's not worth trying to cancel unknowns in simplify_correlated_differences | 11 April 2020, 20:21:21 UTC |
2ffdca7 | Andrew Adams | 11 April 2020, 19:06:09 UTC | Merge remote-tracking branch 'origin/reverse_topological_order' into add_image_checks_simplifier_changes | 11 April 2020, 19:06:09 UTC |
0e01b9d | Andrew Adams | 11 April 2020, 19:03:07 UTC | Merge pull request #4837 from halide/disallow_noncanonical_simplifier_rules Require that rewrite rules are in canonical form | 11 April 2020, 19:03:07 UTC |
72715a1 | Andrew Adams | 11 April 2020, 19:02:39 UTC | Merge pull request #4846 from halide/pelikan-fix-const-bounds clone of #4845 for buildbots | 11 April 2020, 19:02:39 UTC |
81b32de | Andrew Adams | 11 April 2020, 19:00:44 UTC | We want reverse topological order for let bounds | 11 April 2020, 19:00:44 UTC |
66f00f8 | Andrew Adams | 10 April 2020, 22:54:10 UTC | Make simplify_correlated_lets more aggressive | 10 April 2020, 22:54:10 UTC |
14eff0e | Andrew Adams | 10 April 2020, 22:53:51 UTC | Simplifier rules from #3037 These simplifier rules were necessary to get tight bounds with nested tail strategies. This is only possible in conjunction with the rest of 3037, but it's worth testing and merging these separately. | 10 April 2020, 22:53:51 UTC |
9b81989 | Martin Pelikán | 10 April 2020, 20:19:04 UTC | fix build (const& vs. const) with LLVM/clang 11 and -Werror The error message I get (LLVM and clang from today's HEAD): error: loop variable 'l' creates a copy from type 'const Halide::Internal::BoxesTouched::LetBound' [-Werror,-Wrange-loop-construct] | 10 April 2020, 20:19:04 UTC |
adf9d3c | Steven Johnson | 10 April 2020, 18:45:07 UTC | Merge pull request #4843 from halide/call_llvm_function_not_value In trunk llvm it is no longer legal to call a Value directly | 10 April 2020, 18:45:07 UTC |
3a3881f | Andrew Adams | 10 April 2020, 18:13:15 UTC | In trunk llvm it is no longer legal to call a Value directly | 10 April 2020, 18:13:15 UTC |
210d62f | Andrew Adams | 10 April 2020, 16:10:41 UTC | Add more explanatory comments | 10 April 2020, 16:10:41 UTC |
e0d6f03 | Steven Johnson | 09 April 2020, 22:50:05 UTC | Merge pull request #4839 from halide/srj-trim-scope-push Avoid adding duplicate children in trim_scope_push | 09 April 2020, 22:50:05 UTC |
14d61bf | Andrew Adams | 09 April 2020, 18:49:47 UTC | Merge branch 'srj-trim-scope-push' of https://github.com/Halide/Halide into srj-trim-scope-push | 09 April 2020, 18:49:47 UTC |
ee64384 | Andrew Adams | 09 April 2020, 18:45:34 UTC | Do a proper topological sort | 09 April 2020, 18:45:34 UTC |
9cad075 | Steven Johnson | 09 April 2020, 17:35:34 UTC | Appease clang-format | 09 April 2020, 17:35:34 UTC |
054f9eb | Steven Johnson | 09 April 2020, 17:34:55 UTC | Add comment | 09 April 2020, 17:34:55 UTC |
8d8b3a6 | Steven Johnson | 09 April 2020, 17:33:02 UTC | Use Andrew's better version of trim_scope_push() | 09 April 2020, 17:33:02 UTC |
97c7b89 | Steven Johnson | 09 April 2020, 17:08:16 UTC | Merge pull request #4838 from halide/srj-derecurse Remove recursion in trim_scope_pop() | 09 April 2020, 17:08:16 UTC |
fbc57db | Steven Johnson | 09 April 2020, 00:37:02 UTC | fix indent | 09 April 2020, 00:37:02 UTC |
e8ca80e | Steven Johnson | 09 April 2020, 00:36:27 UTC | fix indent | 09 April 2020, 00:36:27 UTC |
0f2bfc9 | Steven Johnson | 09 April 2020, 00:33:42 UTC | Avoid adding duplicate children in trim_scope_push | 09 April 2020, 00:33:42 UTC |
d98c850 | Steven Johnson | 08 April 2020, 22:01:32 UTC | Remove recursion in trim_scope_pop() The current implementation recurses to let_bounds.size(), but a simple loop has the same result. | 08 April 2020, 22:01:32 UTC |
f335a2b | Andrew Adams | 07 April 2020, 21:29:23 UTC | Delete dead code These rules were copy-pasted from above. Must have been due to a bad merge. | 07 April 2020, 21:29:23 UTC |
2017ee7 | Andrew Adams | 07 April 2020, 21:26:16 UTC | Account for canonicalization of EQ | 07 April 2020, 21:26:16 UTC |
c7246d1 | Andrew Adams | 07 April 2020, 19:13:09 UTC | Slight cleanup of commutative helper | 07 April 2020, 19:13:09 UTC |
ff4f917 | Andrew Adams | 07 April 2020, 19:08:23 UTC | Require that rewrite rules are in canonical form That is, for every commutative binary op, we know that the weaker IR node is on the right, because the simplifier does that before applying any rules. Similarly, let's never make a right-hand-side that doesn't obey this constraint. It just makes more work for the simplifier. | 07 April 2020, 19:08:23 UTC |
fff536c | Steven Johnson | 07 April 2020, 16:51:29 UTC | Merge pull request #4836 from halide/srj-pip Fix visibility in Pipeline.h | 07 April 2020, 16:51:29 UTC |
9ca43a1 | Steven Johnson | 07 April 2020, 00:34:19 UTC | Fix visibility in Pipeline.h Stuff that should have been private was public. Not sure how or why. | 07 April 2020, 00:34:19 UTC |
b58ddb2 | Steven Johnson | 07 April 2020, 00:28:17 UTC | Merge pull request #4835 from halide/srj-remove-parammap-from-py Remove ParamMap from Python Bindings | 07 April 2020, 00:28:17 UTC |
86c5b60 | Steven Johnson | 07 April 2020, 00:27:30 UTC | Merge pull request #4833 from halide/srj-pmbuf Tweak to ParamMap API | 07 April 2020, 00:27:30 UTC |
22d11fd | Steven Johnson | 06 April 2020, 23:26:59 UTC | Remove ParamMap from Python Bindings The existing "support" was useless, since there was no way to construct a *useful* ParamMap in our Python bindings. Removing for now to clear the way for subsequent ParamMap work. | 06 April 2020, 23:26:59 UTC |
b18be98 | Steven Johnson | 06 April 2020, 18:35:22 UTC | Tweak to ParamMap API | 06 April 2020, 18:35:22 UTC |
3a67edd | Steven Johnson | 06 April 2020, 17:47:24 UTC | Merge pull request #4832 from halide/push_rval Reduce number of copies in Scope::push | 06 April 2020, 17:47:24 UTC |
60dac03 | Andrew Adams | 05 April 2020, 02:10:15 UTC | Merge pull request #4830 from halide/srj-interval Move most Interval method bodies to the .cpp file | 05 April 2020, 02:10:15 UTC |
dd0b9a8 | Andrew Adams | 04 April 2020, 22:12:39 UTC | Avoid std::swap for msvc | 04 April 2020, 22:12:39 UTC |
d67b691 | Andrew Adams | 04 April 2020, 18:26:45 UTC | Not sure why this was heap allocated | 04 April 2020, 18:26:45 UTC |
0c8e677 | Andrew Adams | 04 April 2020, 18:20:13 UTC | Reduce number of copies in Scope::push pushing something onto a scope copies it, so if we accept rvals appropriately then we can avoid those copies. Also makes it possible to use scopes with non-copyable types as values. Speeds up the compiler about half a percent on local laplacian. Increases the size of libHalide by two pages (8k), so I guess the speed-up is due to inlining. | 04 April 2020, 18:20:13 UTC |
afa97d7 | Andrew Adams | 04 April 2020, 17:43:34 UTC | Explain Interval::operator== | 04 April 2020, 17:43:34 UTC |
2ee8406 | Andrew Adams | 04 April 2020, 17:43:10 UTC | Re-inline the interval constructors only | 04 April 2020, 17:43:27 UTC |
4a33262 | Andrew Adams | 04 April 2020, 17:18:00 UTC | Merge pull request #4826 from halide/srj-buffer Remove unnecessary includes of Buffer.h | 04 April 2020, 17:18:00 UTC |
de8ecab | Andrew Adams | 04 April 2020, 17:17:53 UTC | Merge pull request #4828 from halide/srj-fvb Tiny size optimization in Bounds.h | 04 April 2020, 17:17:53 UTC |
253c8f5 | Andrew Adams | 04 April 2020, 17:17:45 UTC | Merge pull request #4829 from halide/srj-b2 Bounds.h doesn't need to include IROperator.h | 04 April 2020, 17:17:45 UTC |
7401cd3 | Andrew Adams | 04 April 2020, 17:17:42 UTC | Merge pull request #4831 from halide/srj-deviceapi Move DeviceAPI into its own header file | 04 April 2020, 17:17:42 UTC |
65127e6 | Steven Johnson | 04 April 2020, 01:42:01 UTC | Move DeviceAPI into its own header file Nothing in Expr.h needs it, and at least one of the few users (Target.h) didn't need anything else in Expr.h. | 04 April 2020, 01:42:01 UTC |
f5ed9ac | Steven Johnson | 04 April 2020, 01:32:33 UTC | Move most Interval method bodies to the .cpp file | 04 April 2020, 01:32:33 UTC |
51f8f04 | Steven Johnson | 04 April 2020, 01:16:18 UTC | Bounds.h doesn't need to include IROperator.h | 04 April 2020, 01:16:18 UTC |
8678fb8 | Steven Johnson | 04 April 2020, 01:05:55 UTC | Minor size optimization in Bounds.h | 04 April 2020, 01:05:55 UTC |
b703290 | Steven Johnson | 03 April 2020, 00:38:50 UTC | Remove unnecessary includes of Buffer.h Buffer.h is a heavyweight file and should only be included when forward-declarations will not suffice. Also, a drive-by addition of Realization.cpp. | 04 April 2020, 00:37:15 UTC |
853c397 | Steven Johnson | 04 April 2020, 00:34:57 UTC | Merge pull request #4824 from halide/srj-parameter Remove unnecessary #includes from Parameter.h | 04 April 2020, 00:34:57 UTC |
aa4adc5 | Steven Johnson | 03 April 2020, 22:05:12 UTC | Touch | 03 April 2020, 22:05:12 UTC |
3db333c | Steven Johnson | 03 April 2020, 21:21:34 UTC | Touch | 03 April 2020, 21:21:34 UTC |
8e12254 | Steven Johnson | 03 April 2020, 21:07:47 UTC | Touch | 03 April 2020, 21:07:47 UTC |
3e8fcb7 | Steven Johnson | 03 April 2020, 20:11:54 UTC | Merge branch 'master' into srj-parameter | 03 April 2020, 20:11:54 UTC |
9982998 | Steven Johnson | 03 April 2020, 20:02:11 UTC | Merge pull request #4823 from halide/srj-efa Add ExternFuncArgument.h | 03 April 2020, 20:02:11 UTC |
2f47d70 | Steven Johnson | 03 April 2020, 18:26:43 UTC | Restore Buffer.h to IR.h | 03 April 2020, 18:26:43 UTC |
6f369b4 | Steven Johnson | 03 April 2020, 18:11:51 UTC | Merge branch 'master' into srj-parameter | 03 April 2020, 18:11:51 UTC |
295e06d | Steven Johnson | 03 April 2020, 17:59:44 UTC | Fixes | 03 April 2020, 17:59:44 UTC |
d31cdc0 | Steven Johnson | 03 April 2020, 17:50:37 UTC | Merge branch 'master' into srj-efa | 03 April 2020, 17:50:37 UTC |
4ae1672 | Steven Johnson | 03 April 2020, 17:49:03 UTC | Merge pull request #4825 from halide/srj-irsimp Reduce includes in IR.h and Expr.h | 03 April 2020, 17:49:03 UTC |
baba67b | Steven Johnson | 02 April 2020, 22:29:33 UTC | Add ExternFuncArgument.h Most that need Function don't need ExternFuncArgument, but putting both in Function.h adds extra includes (eg Buffer.h) in places that it isn't needed. Split it out into a separate file and forward-declared in all headers (except Param.h, which will be addressed in the future). | 03 April 2020, 00:36:31 UTC |
e27fb1e | Steven Johnson | 02 April 2020, 23:50:05 UTC | Reduce includes in IR.h and Expr.h Remove includes that are just plain unneeded, adding forward decls as needed. Split PrefetchDirective.h into its own header since that's the only thing that IR.h needed from Schedule.h. Some drive-by work on related headers too. | 02 April 2020, 23:50:05 UTC |
a0802e6 | Steven Johnson | 02 April 2020, 23:15:51 UTC | Update Parameter.h | 02 April 2020, 23:15:51 UTC |
dea3397 | Steven Johnson | 02 April 2020, 23:01:33 UTC | Merge pull request #4822 from halide/srj-introspection Remove unnecessary includes of Introspection.h | 02 April 2020, 23:01:33 UTC |
e5362bf | Steven Johnson | 02 April 2020, 23:00:52 UTC | Merge pull request #4821 from halide/srj-expr Add Expr.cpp, move nontrivial function bodies into it | 02 April 2020, 23:00:52 UTC |
95c5295 | Steven Johnson | 02 April 2020, 22:49:56 UTC | Remove unnecessary #includes from Parameter.h | 02 April 2020, 22:59:09 UTC |
ad1e7a6 | Steven Johnson | 02 April 2020, 20:15:04 UTC | Merge pull request #4820 from halide/tzumao_set_host_dirty_errmsg Improve set_host_dirty error message | 02 April 2020, 20:15:04 UTC |
ac6086b | Steven Johnson | 02 April 2020, 18:48:41 UTC | Remove unnecessary includes of Introspection.h It was included by Debug.h and Error.h (and thus ~everywhere), but is only needed in a handful of .cpp files. | 02 April 2020, 18:48:41 UTC |
a202340 | Steven Johnson | 02 April 2020, 18:34:30 UTC | Add Expr.cpp, move nontrivial function bodies into it Expr.h is included by ~everything in Halide, so we want to minimize its complexity. There are several nontrivial function bodies in Expr.h that are likely too large to inline anyway, so add Expr.cpp and move them there. (Also move the Range ctor there since that's where it belonged anyway.) | 02 April 2020, 18:34:30 UTC |
bb0cfa1 | Tzu-Mao Li | 02 April 2020, 18:14:17 UTC | copy_to_host -> copy_to_host() in an error message | 02 April 2020, 18:14:17 UTC |
553d284 | Tzu-Mao Li | 02 April 2020, 18:08:30 UTC | Improve set_host_dirty error message | 02 April 2020, 18:08:30 UTC |
49c8469 | Steven Johnson | 02 April 2020, 17:23:51 UTC | Merge pull request #4816 from halide/srj-push Minor optimization in SmallStack::push | 02 April 2020, 17:23:51 UTC |
5753a69 | Steven Johnson | 02 April 2020, 17:20:29 UTC | Merge pull request #4817 from halide/srj-deir2 Avoid Function.h in other .h files | 02 April 2020, 17:20:29 UTC |
124e207 | Steven Johnson | 02 April 2020, 17:20:08 UTC | Update Prefetch.cpp | 02 April 2020, 17:20:08 UTC |
fe783be | Steven Johnson | 02 April 2020, 17:19:38 UTC | Merge branch 'master' into srj-deir2 | 02 April 2020, 17:19:38 UTC |
6e50d8e | Steven Johnson | 02 April 2020, 17:18:36 UTC | Merge pull request #4815 from halide/srj-deir Avoid including IR.h in other .h files except where necessary | 02 April 2020, 17:18:36 UTC |
352c154 | Tzu-Mao Li | 02 April 2020, 16:03:09 UTC | Merge pull request #4802 from halide/tzumao_improve_gradient_autoscheduler Gradient autoscheduler improvements for GPU scheduling | 02 April 2020, 16:03:09 UTC |
d0ecc11 | Tzu-Mao Li | 02 April 2020, 12:41:06 UTC | Merge pull request #4801 from halide/tzumao_issue_4297 Fix #4297 by preventing Ifs being pushed between GPUBlocks | 02 April 2020, 12:41:06 UTC |
e105101 | Tzu-Mao Li | 02 April 2020, 12:40:25 UTC | Merge branch 'tzumao_issue_4297' into tzumao_improve_gradient_autoscheduler | 02 April 2020, 12:40:25 UTC |
d608106 | Steven Johnson | 02 April 2020, 01:36:42 UTC | Avoid Function.h in other .h files #including this file drags in a lot of other includes, but most includers only need a forward declaration. | 02 April 2020, 01:36:42 UTC |
a8bfd39 | Steven Johnson | 02 April 2020, 01:04:26 UTC | Minor optimization in SmallStack::push | 02 April 2020, 01:04:26 UTC |
7496245 | Steven Johnson | 02 April 2020, 00:41:18 UTC | Avoid including IR.h in other .h files except where necessary IR.h is an expensive header, and most includees don't need all of it (often, Expr.h is all they need). When other classes are needed (eg Function) the specific headers are included (rather than adding forward declarations). Also did some drive-by addition of explicit std c++ headers where obvious. | 02 April 2020, 00:41:18 UTC |
96efd01 | Tzu-Mao Li | 01 April 2020, 21:09:38 UTC | Comments and remove unused code | 01 April 2020, 21:09:38 UTC |
b4b5001 | Tzu-Mao Li | 01 April 2020, 20:54:10 UTC | Actually make the If normalization mutators working. Add comments. | 01 April 2020, 20:54:10 UTC |
2955dc5 | Tzu-Mao Li | 01 April 2020, 20:17:21 UTC | Merge branch 'master' into tzumao_issue_4297 | 01 April 2020, 20:17:21 UTC |
b13e384 | Tzu-Mao Li | 01 April 2020, 20:04:55 UTC | Fix compile | 01 April 2020, 20:04:55 UTC |
a328c81 | Tzu-Mao Li | 01 April 2020, 19:59:24 UTC | normalize if statements in fuse_gpu_thread_loops() | 01 April 2020, 19:59:24 UTC |
3da5069 | Steven Johnson | 01 April 2020, 17:19:00 UTC | Merge pull request #4811 from halide/srj-llvmh Remove unnecessary #includes of LLVM_Headers.h | 01 April 2020, 17:19:00 UTC |
ef3c487 | Steven Johnson | 01 April 2020, 17:17:15 UTC | Merge pull request #4813 from halide/srj-simpler-includes Simplify #include file nesting | 01 April 2020, 17:17:15 UTC |