SPIR.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //===--- SPIR.cpp - Implement SPIR and SPIR-V target feature support ------===//
  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. // This file implements SPIR and SPIR-V TargetInfo objects.
  10. //
  11. //===----------------------------------------------------------------------===//
  12. #include "SPIR.h"
  13. #include "Targets.h"
  14. using namespace clang;
  15. using namespace clang::targets;
  16. void SPIRTargetInfo::getTargetDefines(const LangOptions &Opts,
  17. MacroBuilder &Builder) const {
  18. DefineStd(Builder, "SPIR", Opts);
  19. }
  20. void SPIR32TargetInfo::getTargetDefines(const LangOptions &Opts,
  21. MacroBuilder &Builder) const {
  22. SPIRTargetInfo::getTargetDefines(Opts, Builder);
  23. DefineStd(Builder, "SPIR32", Opts);
  24. }
  25. void SPIR64TargetInfo::getTargetDefines(const LangOptions &Opts,
  26. MacroBuilder &Builder) const {
  27. SPIRTargetInfo::getTargetDefines(Opts, Builder);
  28. DefineStd(Builder, "SPIR64", Opts);
  29. }
  30. void SPIRVTargetInfo::getTargetDefines(const LangOptions &Opts,
  31. MacroBuilder &Builder) const {
  32. DefineStd(Builder, "SPIRV", Opts);
  33. }
  34. void SPIRV32TargetInfo::getTargetDefines(const LangOptions &Opts,
  35. MacroBuilder &Builder) const {
  36. SPIRVTargetInfo::getTargetDefines(Opts, Builder);
  37. DefineStd(Builder, "SPIRV32", Opts);
  38. }
  39. void SPIRV64TargetInfo::getTargetDefines(const LangOptions &Opts,
  40. MacroBuilder &Builder) const {
  41. SPIRVTargetInfo::getTargetDefines(Opts, Builder);
  42. DefineStd(Builder, "SPIRV64", Opts);
  43. }