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.
Fix a couple typos in assertion messages.
Track stricter IR typing change Andrew made recently in
VaryingAttributes code.
Add a trivial write only GLSL test.
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(..)
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.
Google drive nightly folder reorg