aboutsummaryrefslogtreecommitdiff
path: root/MicroBenchmarks
AgeCommit message (Collapse)Author
2019-08-26[MemFunctions] Add c++11 flag.Clement Courbet
We're using constexpr in the code, so this breaks in older systems. MicroBenchmarks/MemFunctions/main.cpp:34:10: error: unknown type name 'constexpr' static constexpr size_t kMaxBufSizeBytes = 4096; See https://reviews.llvm.org/D64082 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@369888 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-22[MemFunctions] Add microbenchmarks for memory functions.Clement Courbet
Summary: Memory functions (memcmp, memcpy, ...) are typically recognized by the compiler and expanded to specific asm patterns when the size is known at compile time. This will help catch any regressions in expansions. Right now we're only testing memcmp (see context in D60318). Subscribers: mgorny, llvm-commits, gchatelet, spatel Tags: #llvm Differential Revision: https://reviews.llvm.org/D64082 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@369707 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-10[test-suite] Fix RISC-V Support in benchmark 1.3.0Sam Elliott
Summary: Fixed by backporting the upstream fix from here: https://github.com/google/benchmark/pull/833 Reviewers: lebedev.ri Reviewed By: lebedev.ri Subscribers: asb, kito-cheng, shiva0217, rogfer01, rkruppe, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64237 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@365610 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-20Update remaining file headers of LLVM-project code to the new license.Chandler Carruth
For details, see r351675 which intalled the new license for the test suite, and r351676 which handled headers in the ABI test suite. This also involved cleaning up some weirdly mis-formatted headers in the glib compat stubs. git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@351677 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-15[test-suite] Fix NetBSD support in benchmark 1.3.0Kamil Rytarowski
Fixed by backporting the upstream fix from here: https://github.com/google/benchmark/pull/482 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@349272 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-28[MicroBenchmark] Add initial LoopInterchange test/benchmark.Florian Hahn
This patch adds a first test case specifically for LoopInterchange. I am not sure if MicroBenchmarks is the best place for this, but it seems like a good way to benchmark/tests a set of loops targeted at loop interchange. Reviewers: Meinersbur, homerdin, proton0001, proton, MatzeB Reviewed By: MatzeB Differential Revision: https://reviews.llvm.org/D53030 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@347740 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-20Disable test MicroBenchmarks/XRay/FDRMode/fdrmode-bench.test on Darwin.Volodymyr Sapsai
Test is failing because `__xray_log_select_mode("xray-fdr")` returns XRAY_MODE_NOT_FOUND. Disable until it is fixed. rdar://problem/44578416 Reviewers: dberris, devnexen Reviewed By: dberris Subscribers: mgorny, dexonsmith, llvm-commits Differential Revision: https://reviews.llvm.org/D52278 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@342676 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-17[XRay] Remove use of deprecated optionsDean Michael Berris
In D51606 we deleted the FDR options struct, but forgot to remove those from the test suite benchmarks. git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@342426 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31cmake: Specify reference outputs in llvm_test_data()Matthias Braun
Specify reference outputs in llvm_test_data() so they get copied to the builddir and used from there. Differential Revision: https://reviews.llvm.org/D51048 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@341255 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-17Add BilateralFiltering kernel using Benchmark LibraryPankaj Kukreja
A bilateral filter is a non-linear, edge-preserving, and noise-reducing smoothing filter for images. Reviewers: Meinersbur Differential Revision: https://reviews.llvm.org/D50529 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@340002 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-13Removed std=c++11 flag from ↵Pankaj Kukreja
MicroBenchmarks/ImageProcessing/Dilate/CMakeLists.txt git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@339565 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-13Add Image dilate kernel(for grayscale Images) using Benchmark LibraryPankaj Kukreja
Reviewers: Meinersbur Differential Revision: https://reviews.llvm.org/D49883 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@339564 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-08Removed -std=c++11 flag from MicroBenchmarks/ImageProcessing/Blur/CMakeLists.txtPankaj Kukreja
Patch by Santosh Differential Revision: https://reviews.llvm.org/D50425 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@339228 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-07Fixed build error caused by MicroBenchmarks/ImageProcessing with clangPankaj Kukreja
clang gives error Changes: Removed -std=c++11 flag from cmake files of ImageProcessing kernels Used c++03 version of benchmark library instead of c++11 In main.cpp changed Args({a, b}) to ArgPair(a,b) In main.cpp changed for(auto _ : state) to while(state.KeepRunning()) git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@339154 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-07Add interpolation kernels using Benchmark LibraryPankaj Kukreja
Contains Implementation of Bicubic and bilinear Algortihms Reviewers: Meinersbur Differential Revision: https://reviews.llvm.org/D50345 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@339115 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-06Add image blur algorithms using Benchmark LibraryPankaj Kukreja
Contains Implementation of mean box blur and gaussian blur Reviewers: Meinersbur Differential Revision: https://reviews.llvm.org/D49341 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@339055 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-06Add Anisotropic diffusion using Benchmark LibraryPankaj Kukreja
It is a technique aiming at reducing image noise without removing significant parts of the image content Reviewers: Meinersbur Differential Revision: https://reviews.llvm.org/D49948 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@339010 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-06Add Image dithering kernels using Benchmark LibraryPankaj Kukreja
Contains Ordered and Floyd-Steinberg dithering algorithms Reviewers: Meinersbur Differential Revision: https://reviews.llvm.org/D49503 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@339006 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-06Add utilities functions for Image Processing KernelsPankaj Kukreja
Kernels will be added in seperate patches Reviewers: Meinersbur Differential Revision: https://reviews.llvm.org/D49339 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@339004 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-02cmake: Drop DISABLE_CXX flagMatthias Braun
- This comes from the initial makefile conversion - As far as I can tell it was not working properly - It was never exposed as a user configuration option git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@338789 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-02Revert r336970 "[XRay][test-suite] Benchmarks for profiling mode implementation"Hans Wennborg
The tests fail flakily when run in parallel, see comment on the review. > Summary: > This patch adds microbenchmarks for the XRay Profiling Mode > implementation to the test-suite. > > The benchmarks included cover: > > - Cost of the Profiling Mode runtime handler(s) and underlying > implementation details when enabled. > > - Different benchmarks for different call stack traces. Initially > showing deep, shallow, and wide function call stacks. > > These microbenchmarks can be used to measure progress on the > optimisation work associated with the profiling mode runtime > implementation going forward. It also allows us to better qualify the > cost of the XRay runtime framework (in particular the trampolines) as we > make improvements to those in the future. > > Depends on D48653. > > Reviewers: kpw, eizan > > Reviewed By: eizan > > Subscribers: mgorny, llvm-commits > > Differential Revision: https://reviews.llvm.org/D48879 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@338710 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-13[XRay][test-suite] Benchmarks for profiling mode implementationDean Michael Berris
Summary: This patch adds microbenchmarks for the XRay Profiling Mode implementation to the test-suite. The benchmarks included cover: - Cost of the Profiling Mode runtime handler(s) and underlying implementation details when enabled. - Different benchmarks for different call stack traces. Initially showing deep, shallow, and wide function call stacks. These microbenchmarks can be used to measure progress on the optimisation work associated with the profiling mode runtime implementation going forward. It also allows us to better qualify the cost of the XRay runtime framework (in particular the trampolines) as we make improvements to those in the future. Depends on D48653. Reviewers: kpw, eizan Reviewed By: eizan Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D48879 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@336970 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-26[test-suite] Using Google Benchmark Library on Harris KernelBrian Homerding
Adds the Harris Corner Dectection kernel used in computer vision algorithms. The code is modified from the Polymage benchmarks to use the Google Benchmark library. Patch by Pankaj Kukreja, thanks! Reviewers: dberris, Meinersbur Differential Revision: https://reviews.llvm.org/D47675 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@335611 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-19[test-suite] Fix SystemZ build break (missing cycleclock::Now)Ulrich Weigand
The s390 platform-specific implementation of cycleclock::Now in libs/benchmark-1.3.0/src/cycleclock.h was missing, causing a build break on SystemZ. Fixed by backporting the upstream fix from here: https://github.com/google/benchmark/pull/540 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@335044 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-06[test-suite] Enable MicroBenchmarks by default and enable benchmark library ↵Brian Homerding
to cross compile. With the changes in https://reviews.llvm.org/rL327422 and https://reviews.llvm.org/rL327710 the MicroBenchmarks directory produces additional meaningful data. The patch enables the MicroBenchmarks directory to build by default and forces the benchmark library to build with C++11 and use std::regex to circumvent cmake try_run tests that are limited when cross compiling. Reviewers: MatzeB, hfinkel Differential Revision: https://reviews.llvm.org/D46267 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@334097 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-24[test-suite] Revert rL333184 (Enable MicroBenchmarks by default and enable ↵Brian Homerding
benchmark library to cross compile) The benchmark library's build is failing some builds. Differential Revision: https://reviews.llvm.org/D46267 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@333194 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-24[test-suite] Enable MicroBenchmarks by default and enable benchmark library ↵Brian Homerding
to cross compile. With the changes in https://reviews.llvm.org/rL327422 and https://reviews.llvm.org/rL327710 the MicroBenchmarks directory produces additional meaningful data. The patch enables the MicroBenchmarks directory to build by default and forces the benchmark library to build with C++11 and use std::regex to circumvent cmake try_run tests that are limited when cross compiling. Reviewers: MatzeB, hfinkel Differential Revision: https://reviews.llvm.org/D46267 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@333184 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-22[test-suite] Revert rL332981 (Enable MicroBenchmarks by default)Brian Homerding
The benchmark library's build is failing some builds. Differential Revision: https://reviews.llvm.org/D46267 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@332984 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-22[test-suite] Enable MicroBenchmarks by defaultBrian Homerding
With the changes in https://reviews.llvm.org/rL327422 and https://reviews.llvm.org/rL327710 the MicroBenchmarks directory produces additional meaningful data. The patch enables the MicroBenchmarks directory to build by default. Reviewers: MatzeB, hfinkel Differential Revision: https://reviews.llvm.org/D46267 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@332981 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-23[test-suite] Adding LCALS (Livermore Compiler Analysis Loop Suite) loop ↵Brian Homerding
kernels to test suite. These changes are dependent on the changes purposed in https://reviews.llvm.org/D43314 and https://reviews.llvm.org/D43316. This adds parts of LCALS as google benchmarks to the test suite. The loop suite is partitioned into 3 subsets based on their origins. From README-LCALS_instructions.txt: LCALS ("Livermore Compiler Analysis Loop Suite") is a collection of loop kernels based, in part, on historical "Livermore Loops" benchmarks (See the 1986 technical report: "The Livermore Fortran Kernels: A Computer Test of the Numerical Performance Range", by Frank H. McMahon, UCRL-53745.). Subset A: Loops representative of those found in application codes. They are implemented in source files named runA<variant>Loops.cxx. Subset B: Basic loops that help to illustrate compiler optimization issues. They are implemented in source files named runB<variant>Loops.cxx Subset C: Loops extracted from "Livermore Loops coded in C" developed by Steve Langer, which were derived from the Fortran version by Frank McMahon. They are implemented in source files runC<variant>Loops.cxx Being added are google benchmark versions of the Raw and ForeachLambda variants in the 3 sizes. SubsetALambdaLoops: 18 tests (6 loops x 3 sizes) SubsetARawLoops: 18 tests (6 loops x 3 sizes) SubsetBLambdaLoops: 12 tests (4 loops x 3 sizes) SubsetBRawLoops: 12 tests (4 loops x 3 sizes) SubsetCLambdaLoops: 60 tests (20 loops x 3 sizes) SubsetCRawLoops: 60 tests (20 loops x 3 sizes) When run onIntel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz (Haswell): SubsetA takes around 22 seconds (18 tests reported). SubsetB takes around 16 seconds (12 tests reported). SubsetC takes around 61 seconds (60 tests reported). The machine being used should not affect the runtime of the tests by much as the benchmark library will adjust the number of iterations up or down. Reviewers: MatzeB, hfinkel, rengolin Differential Revision: https://reviews.llvm.org/D43319 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@328330 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-16[test-suite] Update litsupport/module/microbenchmark.py to report individual ↵Brian Homerding
timing results from 1 test. This updates the litsupport microbenchmark plugin module to make further use of the benchmark library and the changes to lit in "rL327422: [lit] - Allow 1 test to report multiple micro-test results to provide support…". I have also changed the current microbenchmarks that use this plugin by removing the individual tests from the XRay microbenchmarks as they will be collected individually from the module in 1 run of the executable. Reviewers: rengolin Differential Revision: https://reviews.llvm.org/D43316 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@327710 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-17[XRay][test-suite] Update XRay microbenchmarks to use ranged for loopsEizan Miyamoto
Summary: This is slightly more efficient and is now supported by benchmark 1.3.0 Reviewers: dberris Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D40162 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@318499 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-17[XRay][test-suite] Upgrade Google benchmark libraryEizan Miyamoto
Summary: This change allows us to use an updated idiom for defining microbenchmarks. Version being upgraded from 1.2.0 to 1.3.0. Reviewers: dberris Reviewed By: dberris Subscribers: dschuff, mgorny, javed.absar, krytarowski, llvm-commits, fedor.sergeev Differential Revision: https://reviews.llvm.org/D40154 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@318476 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-16[XRay] [test-suite] Add FDR mode microbenchmarkEizan Miyamoto
Summary: Move retref-bench sources and support files into new subdir Add XRay FDR mode microbenchmark Reviewers: dberris Reviewed By: dberris Subscribers: llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D40010 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@318473 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-03add microbenchmark litsupport pluginEizan Miyamoto
use microbenchmark litsupport plugin for XRay benchmarks The litsuport module was originally written by @MatzeB provided in https://reviews.llvm.org/D37421 with some minor edits to the test output name string (note: s/exec_time/microbenchmark_time_ns/) Approved in https://reviews.llvm.org/D38496 git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@317310 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-18Fix xray CMakeLists.txtMatthias Braun
- cmake would abort with a syntax error if COMPILER_HAS_FXRAY_INSTRUMENT was empty. - Simplify a bunch of expressions; "${A}" can usually be replaced with ${A} in cmake: cmake will resolve this as a single argument even when there are spaces in the replacement text. git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@313581 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-21[XRay] [test-suite] Upgrade Google Benchmark library to 1.2.0Dean Michael Berris
Summary: Add sources for Google Benchmark 1.2.0 Switch over from using Benchmark 1.1.0 to Benchmark 1.2.0 Remove Google Benchmark 1.1.0 sources This is to fix https://bugs.llvm.org/show_bug.cgi?id=34215 Reviewers: dberris Reviewed By: dberris Subscribers: hfinkel, dschuff, mgorny, javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D36917 Patch by eizan. git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@311306 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-15[XRay] [test-suite] Don't use llvm_multisource macro for XRay tests and use ↵Dean Michael Berris
.test files Summary: Fix up CMakeLists.txt and add multiple .test files for MicroBenchmarks/XRay/ Follow-up work as suggested by https://reviews.llvm.org/D32272#794759 Reviewers: dberris, MatzeB Reviewed By: dberris, MatzeB Subscribers: MatzeB, llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D35672 Patch By: eizan git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@310909 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-03[XRay] Add Google Benchmark library + initial XRay benchmarksDean Michael Berris
Summary: Google benchmark library 1.1.0. Add initial XRay benchmarks (by default not run, you must explicitly include MicroBenchmarks in TEST_SUITE_SUBDIRS) Reviewers: dberris, chandlerc, dberlin, MatzeB Reviewed By: dberris, MatzeB Subscribers: hfinkel, javed.absar, krytarowski, MatzeB, kristof.beyls, srhines, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D32272 Patch by Eizan Miyamoto (eizan) git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@307017 91177308-0d34-0410-b5e6-96231b3b80d8