This is probably a trivial question but the way I used to do this turns out to be flawed. I used run clang with -O0 -emit-llvm and then use the resulting IR with opt -O3. The problem is that clang at -O0 does not generate TBAA metadata so the passes run by opt behave differently. What’s the recommended way of doing this? Thanks, Adam