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 <wangn...@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",

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.

Reply via email to