perf clang: Add builtin clang support ant test case
authorWang Nan <wangnan0@huawei.com>
Sat, 26 Nov 2016 07:03:34 +0000 (07:03 +0000)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 5 Dec 2016 18:51:43 +0000 (15:51 -0300)
commit00b86691c77c6576861b82a3cfe4d609800758fe
tree50161d349254c75fb8707c370c96cd8a205f3e9c
parentd58ac0bf8d1e6ffbfcb0a77e459cf4737b131b75
perf clang: Add builtin clang support ant test case

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: 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

Committer note:

Make sure you've enabled CLANG and LLVM builtin support by setting
the LIBCLANGLLVM variable on the make command line, e.g.:

  make LIBCLANGLLVM=1 O=/tmp/build/perf -C tools/perf install-bin

Otherwise you'll get this when trying to do the 'perf test' call above:

  # perf test clang
  51: builtin clang support                      : Skip (not compiled in)
  #

Signed-off-by: Wang Nan <wangnan0@huawei.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Alexei Starovoitov <ast@fb.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Joe Stringer <joe@ovn.org>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com
Link: http://lkml.kernel.org/r/20161126070354.141764-11-wangnan0@huawei.com
[ Removed "Test" from descriptions, redundant and already removed from all the other entries ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/tests/Build
tools/perf/tests/builtin-test.c
tools/perf/tests/clang.c [new file with mode: 0644]
tools/perf/tests/tests.h
tools/perf/util/Build
tools/perf/util/c++/Build [new file with mode: 0644]
tools/perf/util/c++/clang-c.h [new file with mode: 0644]
tools/perf/util/c++/clang-test.cpp [new file with mode: 0644]
tools/perf/util/c++/clang.cpp [new file with mode: 0644]
tools/perf/util/c++/clang.h [new file with mode: 0644]