use saveIP and restoreIP to move the builder around
use saveIP and restoreIP to move the builder around

This avoids potential bugs where on restore we moved back to the *end*
of the original basic block


Former-commit-id: d2df13dae0e0b5f8a9adbee46cca0c109892ff17
darkbuck/Halide,Trass3r/Halide,darkbuck/Halide,Trass3r/Halide,darkbuck/Halide,Trass3r/Halide,Trass3r/Halide,Trass3r/Halide,darkbuck/Halide,darkbuck/Halide,darkbuck/Halide,darkbuck/Halide,Trass3r/Halide,Trass3r/Halide