[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <583BDFC2.3080404@huawei.com>
Date: Mon, 28 Nov 2016 15:41:54 +0800
From: "Wangnan (F)" <wangnan0@...wei.com>
To: Alexei Starovoitov <alexei.starovoitov@...il.com>
CC: <acme@...hat.com>, <ast@...com>, <lizefan@...wei.com>,
<hekuang@...wei.com>, <linux-kernel@...r.kernel.org>,
<pi3orama@....com>, <joe@....org>, Jiri Olsa <jolsa@...nel.org>
Subject: Re: [PATCH v3 10/30] perf clang: Add builtin clang support ant test
case
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@...wei.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.
Powered by blists - more mailing lists