<div dir="ltr">Thank you.<div>It seems that -pass-remarks records the behavior of some passes. gvn, licm, etc.</div><div><br></div><div>How can I detect the basic blocks that are modified when one pass is applied?</div><div>I want to avoid adding some methods to all transform passes.</div><div><br></div><div>Best regards,</div><div>Sooyeon</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">2019년 11월 27일 (수) 오후 6:01, Florian Hahn <<a href="mailto:florian_hahn@apple.com">florian_hahn@apple.com</a>>님이 작성:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
> On Nov 27, 2019, at 07:16, Sooyeon Lee via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
> <br>
> I want to know all the optimization applied by the passes.<br>
> <br>
> I found two options in clang<br>
> 1. -fsave-optimization-record  2. -Rpass-analysis=...<br>
> <br>
> However, they have nothing to do with the interaction btw IR files(.ll)<br>
> Is there any tool that records all optimizations on IR file?<br>
<br>
<br>
Are you looking for a way to save all optimization remarks/records when using ‘opt’? I think passing `-pass-remarks-output=foo.yaml` should do the trick and create a YAML file with the optimization remarks.<br>
<br>
There also are additional flags to selectively print remarks:<br>
<br>
*  -pass-remarks=‘pass-name’ …. Print optimization remarks for pass-name<br>
*  -pass-remarks-missed=‘pass-name’ …. Print missed optimization remarks for pass-name<br>
*  -pass-remarks-analysis=‘pass-name’ …. Print analysis optimization remarks for pass-name<br>
<br>
pass-name can also be a regular expression for the above.<br>
<br>
Cheers,<br>
Florian</blockquote></div>