If I translate my original C code using LLVM to optimized C code (to harness LLVM’s IPO) and then use a different compiler to compile translated C code, can I still generate debug info that would allow debugging the original program?
Nope, sorry. The CBE is a useful tool, but doesn't support a lot of corner cases. I'd take a look at the llvm bugzilla (search for CBE) for some examples.
If I translate my original C code using LLVM to optimized C code (to harness LLVM's IPO) and then use a different compiler to compile translated C code, can I still generate debug info that would allow debugging the original program?
Not right now. But I think that can be added. It would be a welcome addition. Patch welcome.