[cfe-users] How to emit optimization reports
Björn Pollex
bjoern.pollex at sbgenomics.com
Sun Nov 23 03:27:19 PST 2014
Nick,
thanks for the response. After switching to an llvm.org <http://llvm.org/> release of clang, everything works as documented!
Cheers,
Björn
> On 21 Nov 2014, at 21:36, Nick Lewycky <nlewycky at google.com> wrote:
>
> On 21 November 2014 04:32, Björn Pollex <bjoern.pollex at sbgenomics.com <mailto:bjoern.pollex at sbgenomics.com>> wrote:
> Hi all,
>
> according to the documentation, clang supports options to emit optimisation reports <http://llvm.org/releases/3.5.0/tools/clang/docs/UsersManual.html#options-to-emit-optimization-reports>. However, when I try to use them, I get an error:
>
> $ clang test.cpp -c -Rpass=inline
> clang: error: unknown argument: '-Rpass=inline’
>
> It looks like your version of clang is too old for the remark flags.
>
> Also, you didn't pass any optimization flags so the inliner won't fire (except __attribute__((always_inline)) maybe?). You probably wanted to add -O2 too.
>
> $ clang -c -Rpass=inline hello.cpp -O2
> In file included from hello.cpp:1:
> In file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/iostream:39:
> In file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ostream:38:
> In file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ios:44:
> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/basic_ios.h:152:21: remark: _ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv inlined into
> _ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate [-Rpass=inline]
> { this->clear(this->rdstate() | __state); }
> ^
> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/basic_ios.h:152:21: remark: _ZStorSt12_Ios_IostateS_ inlined into
> _ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate [-Rpass=inline]
> In file included from hello.cpp:1:
> In file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/iostream:39:
> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ostream:533:2: remark: _ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate inlined into
> _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc [-Rpass=inline]
> __out.setstate(ios_base::badbit);
> ^
> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ostream:536:29: remark: _ZNSt11char_traitsIcE6lengthEPKc inlined into _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
> [-Rpass=inline]
> static_cast<streamsize>(_Traits::length(__s)));
> ^
> hello.cpp:4:3: remark: _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc inlined into main [-Rpass=inline]
> std::cout << "Hello world!\n";
> ^
> remark: __cxx_global_var_init inlined into _GLOBAL__sub_I_hello.cpp [-Rpass=inline]
> note: could not determine the original source location for /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/ios_base.h:0:0
>
> $ clang -v
> clang version 3.6.0 (trunk 222301)
> Target: x86_64-unknown-linux-gnu
> Thread model: posix
>
> Am I doing something wrong? I am using this version of clang:
>
> $ clang --version
> Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
> Target: x86_64-apple-darwin14.0.0
> Thread model: posix
>
> This isn't an llvm.org <http://llvm.org/> release, you'd have to contact Apple for support. It looks like an XCode version to me.
>
> Nick
>
> Thanks for your help, and kind regards,
>
> Björn Pollex
>
>
> _______________________________________________
> cfe-users mailing list
> cfe-users at cs.uiuc.edu <mailto:cfe-users at cs.uiuc.edu>
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users <http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users>
>
>
> _______________________________________________
> cfe-users mailing list
> cfe-users at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-users/attachments/20141123/6f4407e3/attachment.html>
More information about the cfe-users
mailing list