Different results between O1 flag and O1 passes entered manually


I’m compiling my C code to IR, using opt and then compiling into a binary. I’m getting different runtimes when I use ‘opt -O1’ and when I use ‘opt -debug-pass=Arguments’ and then copy the list of flags into opt. Why could this be?

Essentially I’m trying to track down which optimizations cause a speedup (so I extracted the list of optimizations and am running opt repeatedly with individual optimizations removed).