[llvm-dev] Replication -O3 optimizations manually
Han Cui via llvm-dev
llvm-dev at lists.llvm.org
Sun Oct 21 04:29:14 PDT 2018
Hi Philip,
I would like to try different pass sequences with opt and see how they affect program optimization, and I was thinking replicating the O3 sequence would be a start point.
Thanks,
Han
________________________________
From: Philip Pfaffe <philip.pfaffe at gmail.com>
Sent: 21 October 2018 11:36:07
To: Han Cui
Cc: llvm-dev
Subject: Re: [llvm-dev] Replication -O3 optimizations manually
Hi Han,
What is your ultimate goal here?
Cheers,
Philip
On Fri, Oct 19, 2018 at 9:17 PM Han Cui via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:
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
_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181021/cd9bf63c/attachment.html>
More information about the llvm-dev
mailing list