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.