__translate_sampler_initializer has a calling convention of
spir_func, but clang generated calls to it using the default CC.
Instruction Combining was lowering these mismatching calling conventions
to store i1* undef which itself was subsequently lowered to a trap
instruction by simplifyCFG resulting in runtime SIGILL
There are arguably two bugs here: but whether there's any wisdom in
converting an obviously invalid call into a runtime crash over aborting
with a sensible error message will require further discussion. So for
now it's enough to set the right calling convention on the runtime
helper.
Btw I think we should be using CodeGenFunction::EmitRuntimeCall here instead because it sets the CC correctly through SPIRABIInfo.