Declare OpenCL kernel arguments as 'const' if they are not written to.
Eliminated redundant texture loads by separating spatial texture coordinates and channel selection into two intrinsics
Preserve let variable types in VectorizeLoops so that it may stop mutating part way through the IR tree.
Updated syntax and spacing
Add -Wall -Werror to the CMake build so that it matches the Makefile build
Fix -Werror build error
Updated widening logic for scalar case. Simplified Let variable naming.
Added code to detect cases where the vector expression argument of shuffle_vector must be scalarized
Merge branch 'master' into glsl-swizzle

Conflicts:
	src/IR.cpp
Switched to using equal(..) from expr_match(..)
Switch to 8-bit. (32-bit int doesn't work with OpenGL.)
More changes to get GLSL codegen working for multi device case.
Removed unnecessary constexpr.
Merge pull request #567 from jrprice/ocl-const-buffer

Declare OpenCL kernel arguments as 'const' if they are not written to.
Update asserts and comments.
Merge branch 'glsl-swizzle' of https://github.com/halide/Halide into glsl-swizzle
Merge pull request #590 from halide/glsl-swizzle

removing redundant texture loads
Removed problematic C++ compiler options.
Fix issues with making FuseThreadLoops not process GLSL. Much simpler
to skip the top-level of GLSL loops than to track what type of loop
each mutator is in at the leaf level.
Merge branch 'master' into gpu_api_naming