TargetSelect.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  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 enabled exegesis target(s).
  12. ///
  13. //===----------------------------------------------------------------------===//
  14. #ifndef LLVM_TOOLS_LLVM_EXEGESIS_TARGET_SELECT_H
  15. #define LLVM_TOOLS_LLVM_EXEGESIS_TARGET_SELECT_H
  16. #include "llvm/Config/llvm-config.h"
  17. namespace llvm {
  18. namespace exegesis {
  19. // Forward declare all of the initialize methods for targets compiled in
  20. #define LLVM_EXEGESIS(TargetName) void Initialize##TargetName##ExegesisTarget();
  21. #include "llvm/Config/TargetExegesis.def"
  22. // Initializes all exegesis targets compiled in.
  23. inline void InitializeAllExegesisTargets() {
  24. #define LLVM_EXEGESIS(TargetName) Initialize##TargetName##ExegesisTarget();
  25. #include "llvm/Config/TargetExegesis.def"
  26. }
  27. } // namespace exegesis
  28. } // namespace llvm
  29. #endif // LLVM_TOOLS_LLVM_EXEGESIS_TARGET_SELECT_H