[llvm-dev] Replication -O3 optimizations manually

Han Cui via llvm-dev llvm-dev at lists.llvm.org
Fri Oct 19 12:17:37 PDT 2018


Hi,

I'm having a very similar question to this thread<http://lists.llvm.org/pipermail/llvm-dev/2018-August/125416.html>, about replicating the O3 optimization processing manually using opt.

This is my setup:

Process A:

  1.  clang -O1 -S -emit-llvm main.c -o main.ll
  2.  opt -O3 main.ll -o main-opt1.ll
  3.  clang -O1 main-opt1.ll -o main-opt1

Process B:

  1.  clang -O1 -S -emit-llvm main.c -o main.ll

2.  opt [opt flags given by command 'opt -O3 -disable-output -debug-pass=Arguments main.ll'] main.ll -o main-opt2.ll

  1.  clang -O1 main-opt2.ll -o main-opt2

I tried this with a set of programs and I noticed the execution time of main-opt2 is often much slower than main-opt1. While 'main.ll' is the same, 'main-opt1.ll' is different to 'main-opt2.ll'. May I get some suggestions what I should put for opt (to replace the command in the brackets), so that the two process would have identical effects? Any help would be much appreciated.

Thanks,
Han



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181019/a366c558/attachment.html>


More information about the llvm-dev mailing list