Removed dead declaration.
Returned ScheduleHandles from FuncRefVar/FuncRefExpr assignments.
Initial cleanup of different linkage options in runtime
Further categorization of runtime symbols into internal and external
Rename ScheduleHandle to Def. Add test.
Naming cleanup. Def -> Stage. Reduction -> Update.
Corrected up some comments in RDom.
Added boxes_overlap test, modified bounds inference to set Box::used to true when accessed.
Provides only lower atomically if bounds inference indicates it is necessary.
Added Box::used_defined() helper function.
Provides are only flattened non-atomically if the provide is to a realization.
Merge branch 'master' into flattened-provide
Modified interleave_vectors to support 2, 3, or 4 arguments. Changed deinterleave to detect interleavings of 2, 3, or 4 lanes and call the appropriate interleave_vectors command.
Modified deinterleave to detect if multiple stores to the same buffer with strided ramp indices are actually interleaved. In this case we replace multiple stores with a single interleave store.
Modified ARM codegen to use interleaved vector store instructions for interleaved stores of up to 4 vectors.
Wired up support for vectorizing on the color dimension for the GLSL backend
Merge branch 'master' of https://github.com/halide/Halide into glsl
Minor fix to ARM codegen. Missed an error in the last commit.
Created an interleave_vectors method in the codegen class that implements the interleave_vectors intrinsic call in halide. This was necessary so that I could use a recursive approach to define interleave_vectors for any number of arguments. For calls to interleave_vectors with 1 to 4 args specialized llvm code is generated. When more args are present we recursively interleave the even args as well as the odd args, and then interleave the results of these.
Added a test to check correctness of interleaving 5 vectors. Fixed some bugs exposed by the test.