clear BlockChanges in i64 lowering, they are just per function; fixes emscripten #3088
Fix the catch-all return code for SIMD values.

SIMD values can't simply be coerced from "0", so build a string for an
undef of the appropriate type.
add missing parents in extra return statements; fixes breakage from 1f35dd5faa5cc301cda3382722f68a3013158276
Enable Instcombine combining of vector shuffles

Instcombine is currently very conservative about combining vector
shuffles because it is afraid of pessimizing code translated into
generic form from xmmintrin.h intrinsics. For the current SIMD.js API,
it is more desirable to push JS engine code generators to emit good code
for the shuffles that users are actually doing, and less desirable to
preserve broken-up shuffles in their original form.