lkml.org 
[lkml]   [2016]   [Nov]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v3 10/30] perf clang: Add builtin clang support ant test case
From
Date


On 2016/11/27 1:17, Alexei Starovoitov wrote:
> On Sat, Nov 26, 2016 at 07:03:34AM +0000, Wang Nan wrote:
>> Add basic clang support in clang.cpp and test__clang() testcase. The
>> first testcase checks if builtin clang is able to generate LLVM IR.
>>
>> tests/clang.c is a proxy. Real testcase resides in
>> utils/c++/clang-test.cpp in c++ and exports C interface to perf test
>> subsystem.
>>
>> Test result:
>>
>> $ perf test -v clang
>> 51: Test builtin clang support :
>> 51.1: Test builtin clang compile C source to IR :
>> --- start ---
>> test child forked, pid 13215
>> test child finished with 0
>> ---- end ----
>> Test builtin clang support subtest 0: Ok
>>
>> Signed-off-by: Wang Nan <wangnan0@huawei.com>
> ...
>> +static CompilerInvocation *
>> +createCompilerInvocation(StringRef& Path, DiagnosticsEngine& Diags)
>> +{
>> + llvm::opt::ArgStringList CCArgs {
>> + "-cc1",
>> + "-triple", "bpf-pc-linux",
>> + "-fsyntax-only",
>> + "-ferror-limit", "19",
>> + "-fmessage-length", "127",
> why such limits?
>
>> + "-O2",
>> + "-nostdsysteminc",
>> + "-nobuiltininc",
>> + "-vectorize-loops",
>> + "-vectorize-slp",

Thank you for pointing these out. These arguments are get by analysising
the clang example:

https://llvm.org/svn/llvm-project/cfe/branches/ggreif/CallInst-operands/examples/clang-interpreter/main.cpp

The above example create a C compiler using clang::driver::Driver (bcc
also uses driver).
I form the argument list according to arglist the driver created for its CI,
and leaves arguments I'm not quite sure unchanged.

> why above two flags are needed?
>
>> + "-Wno-unused-value",
>> + "-Wno-pointer-sign",
> these two -Wno makes sense. please add the comment to explain the reasons.
>
They are inherited from samples/bpf/Makefile to suppress some warning
when include kernel headers.

Thank you.


\
 
 \ /
  Last update: 2016-11-28 08:43    [W:0.384 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site