[ARM] Add support for MVE pre and post inc loads and stores
[llvm-core.git] / tools / llvm-exegesis / lib / TargetSelect.h
blob003d12e6e7bfeff962ab629f023c105f8e514ceb
1 //===-- TargetSelect.h ------------------------------------------*- C++ -*-===//
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 /// \file
10 ///
11 /// Utilities to handle the creation of the native exegesis target.
12 ///
13 //===----------------------------------------------------------------------===//
15 #ifndef LLVM_TOOLS_LLVM_EXEGESIS_TARGET_SELECT_H
16 #define LLVM_TOOLS_LLVM_EXEGESIS_TARGET_SELECT_H
18 namespace llvm {
19 namespace exegesis {
21 #ifdef LLVM_EXEGESIS_INITIALIZE_NATIVE_TARGET
22 void LLVM_EXEGESIS_INITIALIZE_NATIVE_TARGET();
23 #endif
25 // Initializes the native exegesis target, or returns false if there is no
26 // native target (either because llvm-exegesis does not support the target or
27 // because it's not linked in).
28 inline bool InitializeNativeExegesisTarget() {
29 #ifdef LLVM_EXEGESIS_INITIALIZE_NATIVE_TARGET
30 LLVM_EXEGESIS_INITIALIZE_NATIVE_TARGET();
31 return true;
32 #else
33 return false;
34 #endif
37 } // namespace exegesis
38 } // namespace llvm
40 #endif // LLVM_TOOLS_LLVM_EXEGESIS_TARGET_SELECT_H