No matter what I do, I can't convince certain passes to do anything when sending a module through JIT. When I dump out bitcode without having run any passes, the opt tool will happily, in this case, vectorize the target loop. Even stranger, when I hack/graft the source of the opt tool on to my code and send the module through presumably identical steps, stack gets dumped when AsmWriter encounters a float constant in an unrecognized format.
Does JIT preclude certain passes from running or is this symptomatic of badnesss related to passing modules between different targets? Before getting to passes, a simple CloneModule call is barfing with the same unrecognized float issue.