Try '-mllvm -debug-pass=Arguments' -- it should help you understand what passes Clang is running.<div><br></div><div>You should also look at 'opt -help-hidden'. There are a ton of debugging and printing options, many of which can be passed through a Clang compilation using '-mllvm'.<br>
<br><div class="gmail_quote">On Thu, Apr 12, 2012 at 2:26 PM, Alexander Potapenko <span dir="ltr"><<a href="mailto:glider@google.com">glider@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi all,<br>
<br>
We've a problem in AddressSanitizer<br>
(<a href="http://code.google.com/p/address-sanitizer/issues/detail?id=61" target="_blank">http://code.google.com/p/address-sanitizer/issues/detail?id=61</a>) that<br>
is probably related to the order in which Clang executes the<br>
optimization passes.<br>
Namely, the ASan pass jumps in too early and prevents a bunch of<br>
memory accesses from being moved to the registers.<br>
<br>
I wonder if it's possible to reconstruct Clang's compilation pipeline<br>
using opt, i.e. dump the bitcode, obtain the list of passes being ran<br>
and run them one by one on the target file.<br>
This will perhaps help to pinpoint the problem, because otherwise I'll<br>
need to try Clang extension points, which may take some time (and may<br>
be insufficient).<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Alexander Potapenko<br>
Software Engineer<br>
Google Moscow<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</font></span></blockquote></div><br></div>