[InstCombine] Signed saturation patterns
[llvm-complete.git] / tools / vfabi-demangle-fuzzer / vfabi-demangler-fuzzer.cpp
blob13657effbbebfc5178c0c869e29263a1ccf4e45d
1 //===-- vfabi-demangler-fuzzer.cpp - Fuzzer VFABI using lib/Fuzzer ------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // Build tool to fuzz the demangler for the vector function ABI names.
11 //===----------------------------------------------------------------------===//
13 #include "llvm/Analysis/VectorUtils.h"
15 using namespace llvm;
17 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
18 const StringRef MangledName((const char *)Data, Size);
19 const auto Info = VFABI::tryDemangleForVFABI(MangledName);
21 // Do not optimize away the return value. Inspired by
22 // https://github.com/google/benchmark/blob/master/include/benchmark/benchmark.h#L307-L345
23 asm volatile("" : : "r,m"(Info) : "memory");
25 return 0;