f6c1254 | Kern Handa | 24 April 2018, 20:12:26 UTC | Merge pull request #2916 from kernhanda/fix_arm32_aot_llvm_runtime_linker ARM devices were incorrectly calling AArch64 runtime functions | 24 April 2018, 20:12:26 UTC |
1a11766 | Kern Handa | 24 April 2018, 19:23:53 UTC | keeping the positive conditional and flipping order | 24 April 2018, 19:23:53 UTC |
2dbd0b7 | Kern Handa | 24 April 2018, 18:50:37 UTC | ARM devices were incorrectly calling AArch64 runtime functions | 24 April 2018, 18:50:37 UTC |
e3b5ac5 | Steven Johnson | 20 April 2018, 19:54:27 UTC | Merge pull request #2906 from halide/srj-comma Fix typo'ed comma | 20 April 2018, 19:54:27 UTC |
5be5ef8 | Steven Johnson | 20 April 2018, 19:53:26 UTC | Merge pull request #2909 from halide/srj-readme Update README to specify LLVM5-or-later | 20 April 2018, 19:53:26 UTC |
4d038a8 | Steven Johnson | 20 April 2018, 17:40:02 UTC | Update README to specify LLVM5-or-later | 20 April 2018, 17:40:02 UTC |
9d13789 | Steven Johnson | 19 April 2018, 17:06:51 UTC | Fix typo'ed comma | 19 April 2018, 17:06:51 UTC |
d0fa462 | Steven Johnson | 18 April 2018, 21:07:17 UTC | Merge pull request #2902 from LazyDodo/master msvc: fix static build. | 18 April 2018, 21:07:17 UTC |
f980ff9 | Ray Molenkamp | 18 April 2018, 18:35:31 UTC | codestyle: remove unwanted indentation | 18 April 2018, 18:35:31 UTC |
3793c57 | Ray Molenkamp | 18 April 2018, 18:15:21 UTC | msvc: fix static build. don't apply __declspec(dllexport) to all exports when building halide with HALIDE_SHARED_LIBRARY=OFF. | 18 April 2018, 18:15:21 UTC |
b0047be | Zalman Stern | 18 April 2018, 09:29:19 UTC | Merge pull request #2900 from halide/srj-race Fix race condition in tracing runtime | 18 April 2018, 09:29:19 UTC |
288e5b4 | Steven Johnson | 17 April 2018, 22:38:16 UTC | Fix race condition in tracing runtime If multiple threads requested packets at the end of the buffer, you could end up with a bad packet if the back-out was ordered in a certain way. Instead, don't try to back out, just let all requests fail till the next flush(), but record the total overage so we know how much to ignore. | 17 April 2018, 22:38:16 UTC |
2b10e2a | Zalman Stern | 17 April 2018, 21:15:21 UTC | Merge pull request #2885 from halide/srj-ub Remove unaligned-access in HalideTraceUtils | 17 April 2018, 21:15:21 UTC |
7683c99 | Steven Johnson | 17 April 2018, 21:14:03 UTC | Merge pull request #2897 from halide/fix-cdsp Don't require access to /dev/subsys_cdsp | 17 April 2018, 21:14:03 UTC |
f510d7d | Steven Johnson | 17 April 2018, 21:13:46 UTC | Merge pull request #2899 from halide/ios_fast_sync_fix Add missing runtime dependency for iOS. | 17 April 2018, 21:13:46 UTC |
38bfd2b | Zalman Stern | 17 April 2018, 21:12:13 UTC | Merge pull request #2896 from halide/popc_clz_ctz_bounds Add bounds inferrence code for bit counting instructions and test. | 17 April 2018, 21:12:13 UTC |
9b9ca2e | dsharletg | 17 April 2018, 18:48:37 UTC | Explicitly name both libraries in error messages. | 17 April 2018, 18:48:37 UTC |
19618ee | Z Stern | 17 April 2018, 18:37:55 UTC | Add missing runtime dependency for iOS. | 17 April 2018, 18:37:55 UTC |
654fbfb | Steven Johnson | 17 April 2018, 17:02:21 UTC | Merge pull request #2887 from halide/srj-trace-config-partial Rework FuncConfig to allow merging/optional fields | 17 April 2018, 17:02:21 UTC |
dc5116c | Steven Johnson | 17 April 2018, 16:59:34 UTC | Merge pull request #2893 from halide/srj-py Overload __nonzero__ and __bool__ to help catch misused and/or (Issue #2889) | 17 April 2018, 16:59:34 UTC |
445adc4 | Z Stern | 17 April 2018, 16:58:43 UTC | Use correct type for bounds in bit counting intrinsics. (Intervals use the Type of the values they are bounding, not Int32 always.) | 17 April 2018, 16:58:43 UTC |
5e1773b | Steven Johnson | 17 April 2018, 01:54:10 UTC | Merge pull request #2894 from halide/srj-det Remove threading from compile_multitarget | 17 April 2018, 01:54:10 UTC |
4c218ad | dsharletg | 17 April 2018, 00:30:04 UTC | Don't require access to /dev/subsys_cdsp just to check if the cdsp is present. | 17 April 2018, 00:30:04 UTC |
ce86ef7 | Z Stern | 17 April 2018, 00:21:21 UTC | Add assert on args count. | 17 April 2018, 00:21:21 UTC |
26e920a | Z Stern | 17 April 2018, 00:16:59 UTC | Add bounds inferrence code for bit counting instructions and test for this case. | 17 April 2018, 00:16:59 UTC |
77d7090 | Steven Johnson | 17 April 2018, 00:12:38 UTC | Merge pull request #2892 from halide/srj-and initialize unique_name_counters to zero | 17 April 2018, 00:12:38 UTC |
fe0a2a0 | Steven Johnson | 16 April 2018, 21:47:15 UTC | Tweak error message | 16 April 2018, 21:47:15 UTC |
12464cd | Steven Johnson | 16 April 2018, 21:36:58 UTC | Fix bonehead copy/paste error | 16 April 2018, 21:36:58 UTC |
d95d17f | Steven Johnson | 16 April 2018, 21:32:18 UTC | Remove threading from compile_multitarget This helped build throughput a little bit, but can introduce a subtle nondeterminism in multitarget builds: different unique_names can be chosen if the modules are built in different order, since the unique_name_counters global is never reset; build tooling that looks for nondeterminism in builds will (rightly) occasionally find it here. Since the performance improvement from this threading was modest in the first place, just remove it entirely. | 16 April 2018, 21:32:18 UTC |
54400eb | Steven Johnson | 16 April 2018, 21:19:37 UTC | Overload __nonzero__ and __bool__ to help catch misused and/or | 16 April 2018, 21:19:37 UTC |
e44a3a4 | Steven Johnson | 16 April 2018, 20:53:14 UTC | initialize unique_name_counters to zero If I read the spec correctly, std::atomic<> default ctor doesn't promise any initialization; if we leave these as-is, we can get different uniquenames from build to build, leading to trivially differing build results that upset some build correctness checks. | 16 April 2018, 20:53:14 UTC |
5d0eece | Steven Johnson | 16 April 2018, 17:23:00 UTC | Set uninitialized_memory_color alpha after final config cleanup | 16 April 2018, 17:23:00 UTC |
d90e864 | Steven Johnson | 16 April 2018, 17:20:10 UTC | Use INT_MIN rather than -1 for pos default | 16 April 2018, 17:20:10 UTC |
3bcf24c | Steven Johnson | 13 April 2018, 18:48:26 UTC | Merge pull request #2886 from halide/srj-irm Convert ExtractRegisterAllocations to IRMutator2 | 13 April 2018, 18:48:26 UTC |
df9da59 | Steven Johnson | 12 April 2018, 22:55:39 UTC | Rework FuncConfig to allow merging/optional fields The goal here is to allow some-but-not-all fields in FuncConfig to be specified, so that we can override some-but-not-all aspects of a visualization. As it is, this means you can specify a FuncConfig via a trace-tag, then tweak/override values via --flag values without having to rebuild/rerun the Halide generation code. This will become especially useful after auto-layout for visualizers is put into place, as that will allow you to just use auto-layout to get a rough visualization, and then (if desired) tweak it piece-by-piece (by adding trace-tag and/or --flags) to get a pleasing layout. Note that I implemented the structs by using 'magic invalid values'; a perhaps-cleaner-but-more-expensive approach would be to have each field allocated by std::unique_ptr, with nullptr meaning "not set"; I rejected that because it makes setting each field considerably more awkward. (To the Googlers watching: yes, mergeable-structs-with-optional-fields sounds a lot like protobufs; no, we're not bringing in protobufs just to accomplish this.) | 12 April 2018, 22:55:39 UTC |
0e099e5 | Steven Johnson | 12 April 2018, 20:31:23 UTC | Remove config.auto_label | 12 April 2018, 20:31:23 UTC |
3ab1402 | Steven Johnson | 12 April 2018, 20:15:51 UTC | Convert ExtractRegisterAllocations to IRMutator2 Also use ScopedBinding and ScopeValue helpers as appropriate | 12 April 2018, 20:15:51 UTC |
4781ace | Steven Johnson | 12 April 2018, 20:05:31 UTC | Merge pull request #2861 from halide/srj-legacy Add Target::LegacyBufferWrappers feature | 12 April 2018, 20:05:31 UTC |
a2d57b5 | Steven Johnson | 12 April 2018, 19:59:03 UTC | Only copy the type's number of bytes | 12 April 2018, 19:59:03 UTC |
51275bd | Steven Johnson | 12 April 2018, 19:14:49 UTC | Merge pull request #2884 from halide/gcc_linker_stderr Apparently some versions of gcc/ld output the linked object file list… | 12 April 2018, 19:14:49 UTC |
94e5ed6 | Steven Johnson | 12 April 2018, 19:14:12 UTC | Remove unaligned-access in HalideTraceUtils UBSan (etc) will rightly complain that value_as<>() does unaligned loads from the scalar union; have the caller memcpy to a local to avoid this. Also, drive-by change from const-ptr to const-ref. | 12 April 2018, 19:14:12 UTC |
2a31548 | Steven Johnson | 12 April 2018, 18:08:37 UTC | Merge pull request #2879 from halide/srj-ttg Add trace_tag for 'global' visualization params | 12 April 2018, 18:08:37 UTC |
47ce2e5 | Steven Johnson | 12 April 2018, 18:06:02 UTC | Merge branch 'master' into srj-ttg | 12 April 2018, 18:06:02 UTC |
e2c9b4c | Steven Johnson | 12 April 2018, 17:55:24 UTC | Merge pull request #2881 from halide/srj-htvclean Convert Label::pos to be an offset from Func's position (rather than absolute) | 12 April 2018, 17:55:24 UTC |
71bbd72 | Steven Johnson | 12 April 2018, 16:37:39 UTC | Merge pull request #2883 from halide/srj-1d Tweak HTV to render 1d and 0d Funcs properly | 12 April 2018, 16:37:39 UTC |
b4c3dfa | Steven Johnson | 12 April 2018, 16:37:03 UTC | Add clarifying comment | 12 April 2018, 16:37:03 UTC |
e4d9a3c | Andrew Adams | 12 April 2018, 15:02:37 UTC | Apparently some versions of gcc/ld output the linked object file list to stderr | 12 April 2018, 15:02:37 UTC |
b2f9d37 | Steven Johnson | 12 April 2018, 01:29:02 UTC | Move 1d example from local-laplacian to camera-pipe | 12 April 2018, 01:29:02 UTC |
a42434d | Steven Johnson | 11 April 2018, 23:02:49 UTC | Tweak HTV to render 1d and 0d Funcs properly Add a visualization for the remap LUT in local_laplacian to test/demonstrate. (I verified locally the 0d Funcs also work, but am not including a demonstration.) | 11 April 2018, 23:02:49 UTC |
a73baca | Steven Johnson | 11 April 2018, 21:40:27 UTC | Convert Label::pos to be an offset from Func's position (rather than absolute) | 11 April 2018, 21:40:27 UTC |
10c552a | Dillon Sharlet | 11 April 2018, 18:54:16 UTC | Merge pull request #2829 from suyogsarda/more_hvx_level Support more hvx power levels | 11 April 2018, 18:54:16 UTC |
2a39216 | Suyog Sarda | 21 March 2018, 12:32:56 UTC | Support more hvx power levels Ensure backward compatibility too. | 11 April 2018, 17:56:20 UTC |
ac465f3 | Steven Johnson | 11 April 2018, 16:47:54 UTC | Process command-line after trace_tags This allows us to use the commandline flags to override per-func (or global) data specified via trace-tag; this allows for easier experimentation via the commandline. | 11 April 2018, 16:47:54 UTC |
e20d51b | Pranav Bhandarkar | 11 April 2018, 15:31:41 UTC | Merge pull request #2871 from halide/pdb_fast_sync_multiple_defs Fix multiple definitions in fast synchronization | 11 April 2018, 15:31:41 UTC |
9ecba9f | Steven Johnson | 10 April 2018, 22:40:12 UTC | Add trace_tag for 'global' visualization params This allows us to set (e.g.) timestep or framesize via trace_tags in the code, rather than command-line flags. Note that this is of limited use at present, as the existing flags tend to be sensitive to input data and thus may be better specified on the command line; however, this provides a good mechanism to specify future params related to automatic layout. | 10 April 2018, 22:40:12 UTC |
b42a01a | Pranav Bhandarkar | 10 April 2018, 21:48:41 UTC | In apps/hexagon_benchmarks/adb_run_on_device.sh, do not do "make clean" always. Instead, check the return value of the make command so as to ensure that in the event of a build failure stale binaries are not pushed to the device. | 10 April 2018, 21:48:41 UTC |
99fca2c | Steven Johnson | 10 April 2018, 16:50:05 UTC | Merge pull request #2873 from halide/srj-strict Bounds calculations needs to understand strict_float | 10 April 2018, 16:50:05 UTC |
31b564f | Andrew Adams | 10 April 2018, 14:30:24 UTC | Merge pull request #2874 from halide/fix-alignment Plumb alignment of closure params to AlignLoads | 10 April 2018, 14:30:24 UTC |
74ac746 | Dillon Sharlet | 10 April 2018, 04:39:41 UTC | Fix alignment ;) | 10 April 2018, 04:39:41 UTC |
5d96847 | Dillon Sharlet | 10 April 2018, 04:35:35 UTC | Plumb alignment of closure params to AlignLoads. | 10 April 2018, 04:35:35 UTC |
1f5996a | Andrew Adams | 10 April 2018, 01:58:34 UTC | Merge pull request #2870 from halide/libtinfo libtinfo fix for some ubuntu systems | 10 April 2018, 01:58:34 UTC |
be32f6a | Steven Johnson | 10 April 2018, 00:38:35 UTC | Fix TODOs | 10 April 2018, 00:38:35 UTC |
ce87973 | Steven Johnson | 10 April 2018, 00:37:25 UTC | Add test case | 10 April 2018, 00:37:25 UTC |
173de61 | Steven Johnson | 10 April 2018, 00:19:51 UTC | Bounds calculations needs to understand strict_float Bounds(Call) assumes the worst for calls it doesn't know about, so strict_float(foo) becomes (neg_inf, pos_inf) rather than (foo, foo) (a la 'likely'), exploding bounds checking. Note 1: this needs a test to be written; I haven't done so yet because I'm puzzled as to how this isn't covered in our existing tests (it was found inside Google code). Note 2: it's possible that some of the other 'likely' special cases need special-casing here too; I'm not familiar enough with the Bounds code to have decided whether that's the case or not. (The fix "as-is" here fixes the cases I know about.) | 10 April 2018, 00:19:51 UTC |
08e6b6d | Steven Johnson | 09 April 2018, 23:29:28 UTC | Merge pull request #2867 from halide/tracetag3 Use add_trace_tag() to allow sending layout info to HalideTraceViz | 09 April 2018, 23:29:28 UTC |
482cb76 | Pranav Bhandarkar | 09 April 2018, 21:11:43 UTC | In synchronization_common.h forward declare some functions so that they can be used inside definition of member functions that are inside struct/class definitions. This should ensure we do not create COMDAT sections for weak functions. | 09 April 2018, 21:11:43 UTC |
cadd908 | Steven Johnson | 09 April 2018, 20:51:08 UTC | remove dependency | 09 April 2018, 20:51:08 UTC |
2c18911 | Steven Johnson | 09 April 2018, 18:54:00 UTC | Add prefix to FuncConfig trace_tag format This will allow us to add a few more trace_tags intended for HTV without decoding difficulty | 09 April 2018, 18:54:00 UTC |
ecc89db | Steven Johnson | 09 April 2018, 18:26:08 UTC | Add missing #include | 09 April 2018, 18:26:08 UTC |
073a3ca | Steven Johnson | 09 April 2018, 18:24:45 UTC | Merge branch 'master' into tracetag3 | 09 April 2018, 18:24:45 UTC |
ae0d204 | Steven Johnson | 09 April 2018, 17:54:04 UTC | Require legacy_buffer_wrapper for define_extern(old_buffer_t=true) | 09 April 2018, 17:54:04 UTC |
8320d85 | Pranav Bhandarkar | 09 April 2018, 16:52:46 UTC | In hexagon_benchmarks, clean before building | 09 April 2018, 16:52:46 UTC |
9c215e9 | Pranav Bhandarkar | 09 April 2018, 16:51:09 UTC | Declare class member functions defined out-of-line as weak. Some other functions need to be weak as well. | 09 April 2018, 16:51:09 UTC |
25574fd | Andrew Adams | 08 April 2018, 18:43:55 UTC | Merge pull request #2864 from halide/move_simplify_tests Move the simplifier tests out of libHalide | 08 April 2018, 18:43:55 UTC |
7a6a069 | Andrew Adams | 08 April 2018, 18:09:15 UTC | libtinfo fix for some ubuntu systems | 08 April 2018, 18:09:15 UTC |
0f8b980 | Steven Johnson | 06 April 2018, 23:47:32 UTC | Use add_trace_tag() to allow sending layout info to HalideTraceViz This is essentially a revised version of #2838, but instead of attempting to replicate the flags 'language', we instead expose the the Config struct (via a shared header), and serialize/deserialize it into a trace_tag that HTV can interpret. As proof-of-concept, it converts apps/bilateral_grid and apps/local_laplacian to use trace_tags instead of command-line args. (We may or may not want those changes to land as part of this PR.) (Note that this doesn't provide a way to set global flags such as `--timestamp`; those could be added in the future via another struct.) | 06 April 2018, 23:47:32 UTC |
01cdce1 | Andrew Adams | 06 April 2018, 21:28:43 UTC | Add missing EXPORT | 06 April 2018, 21:28:43 UTC |
06d8d62 | Steven Johnson | 06 April 2018, 18:49:03 UTC | Merge pull request #2865 from halide/headers_fix Header file fixes per sanitizer feedback from within Google. | 06 April 2018, 18:49:03 UTC |
abfbbe0 | Andrew Adams | 06 April 2018, 15:00:16 UTC | Comments | 06 April 2018, 15:00:16 UTC |
947caab | Zalman Stern | 06 April 2018, 00:57:06 UTC | Header file fixes per sanitizer feedback from within Google. | 06 April 2018, 00:57:06 UTC |
525cb53 | Andrew Adams | 05 April 2018, 22:08:48 UTC | Slight reorg | 05 April 2018, 22:08:48 UTC |
b8a5454 | Andrew Adams | 05 April 2018, 22:00:46 UTC | Remove dead code | 05 April 2018, 22:00:46 UTC |
2e755c0 | Steven Johnson | 05 April 2018, 21:50:15 UTC | Merge pull request #2863 from halide/srj-tracetag Fix rendering glitches in HTV | 05 April 2018, 21:50:15 UTC |
9dbe1a4 | Andrew Adams | 05 April 2018, 21:41:56 UTC | Add missing Halide:: | 05 April 2018, 21:41:56 UTC |
d9cd3ae | Steven Johnson | 05 April 2018, 21:05:57 UTC | Clarified comment | 05 April 2018, 21:05:57 UTC |
a9053e8 | Andrew Adams | 05 April 2018, 20:56:47 UTC | Move the simplifier tests out of libHalide Simplify.cpp is too large, and the simplifier tests don't use any internal functionality anyway. The contents of simplify.cpp is copy-pasted from Simplify.cpp in master. | 05 April 2018, 20:56:47 UTC |
033ed08 | Steven Johnson | 05 April 2018, 20:54:48 UTC | Remove mistakenly added file | 05 April 2018, 20:54:48 UTC |
c97634c | Steven Johnson | 05 April 2018, 20:38:25 UTC | legacy_wrappers -> legacy_buffer_wrappers | 05 April 2018, 20:38:25 UTC |
57182f1 | Zalman Stern | 05 April 2018, 19:06:53 UTC | Merge pull request #2752 from halide/fast_synchronization Fast synchronization | 05 April 2018, 19:06:53 UTC |
1b730a6 | Steven Johnson | 05 April 2018, 17:01:07 UTC | Merge branch 'master' into srj-tracetag | 05 April 2018, 17:01:07 UTC |
2e76a73 | Steven Johnson | 05 April 2018, 17:00:43 UTC | Fix rendering glitches in HTV - Labels that fade in could get rendering incompletely (or not at all) depending on ordering of trace packets due to threading; move all pending labels into a list and render as we go along to resolve this - first_draw_time and first_packet_index should have default values be -1, as zero is a legal value; this could lead to duplicate entries | 05 April 2018, 17:00:43 UTC |
c5269df | Steven Johnson | 05 April 2018, 16:58:31 UTC | Merge pull request #2857 from halide/srj-tracetag Add a few missing pieces for add_trace_tag() | 05 April 2018, 16:58:31 UTC |
b525868 | Steven Johnson | 05 April 2018, 15:55:46 UTC | Merge pull request #2858 from inazarenko/master Handle buffers that are both read and written. | 05 April 2018, 15:55:46 UTC |
49ab892 | Steven Johnson | 05 April 2018, 15:55:21 UTC | Merge pull request #2862 from halide/srj-inline Split NO_INLINE in two | 05 April 2018, 15:55:21 UTC |
d2bef3c | Steven Johnson | 05 April 2018, 01:03:43 UTC | Merge branch 'master' into srj-tracetag | 05 April 2018, 01:03:43 UTC |
d1a4065 | Steven Johnson | 05 April 2018, 00:40:42 UTC | Split NO_INLINE in two The current NO_INLINE macro actually means "don't inline if we are in user code, but if we are compiling Halide, do whatever". This PR adds a new HALIDE_NEVER_INLINE macro, which is the opposite of HALIDE_ALWAYS_INLINE: it never inlines code, period. (It is meant to be useful in header-only libraries like halide_image_io.h, where being able to specify some functions as never-inline can be a useful hint to the compiler.) The existing NO_INLINE macro is renamed to HALIDE_NO_USER_CODE_INLINE to more accurately reflect its meaning (and to give a HALIDE_ prefix to it, which it should have always had). | 05 April 2018, 00:40:42 UTC |
922ac6f | Steven Johnson | 05 April 2018, 00:19:40 UTC | Add Target::LegacyWrappers feature This disables the default generation of the classic 'buffer_t' wrapper code for AOT compilation; the code is still present, but must be deliberately opted in by using the new Target::LegacyWrappers flag when compiling. If you need to enable this flag for your code, you should strongly consider upgrading it to use halide_buffer_t instead (perhaps via the Halide::Runtime::Buffer<> class), as support for the classic 'buffer_t' struct will likely be removed at some point in the future. | 05 April 2018, 00:19:40 UTC |
b4d7933 | Steven Johnson | 04 April 2018, 23:54:40 UTC | Merge pull request #2855 from halide/srj-ub Fix more UB | 04 April 2018, 23:54:40 UTC |
40a51a9 | Steven Johnson | 04 April 2018, 23:46:18 UTC | Remove rogue 'dump' call | 04 April 2018, 23:46:18 UTC |
2aeeb70 | Steven Johnson | 04 April 2018, 23:08:13 UTC | Merge pull request #2856 from halide/srj-png Allow for compact-planar images with non-increasing strides | 04 April 2018, 23:08:13 UTC |