BUILD 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # Part of the Carbon Language project, under the Apache License v2.0 with LLVM
  2. # Exceptions. See /LICENSE for license information.
  3. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. load("//bazel/sh_run:rules.bzl", "glob_sh_run")
  5. load("//testing/file_test:rules.bzl", "file_test")
  6. package(default_visibility = ["//visibility:public"])
  7. cc_library(
  8. name = "lower_to_llvm",
  9. srcs = ["lower_to_llvm.cpp"],
  10. hdrs = ["lower_to_llvm.h"],
  11. deps = [
  12. ":lowering_context",
  13. "//toolchain/semantics:semantics_ir",
  14. "@llvm-project//llvm:Core",
  15. "@llvm-project//llvm:Support",
  16. ],
  17. )
  18. cc_library(
  19. name = "lowering_context",
  20. srcs = [
  21. "lowering_context.cpp",
  22. "lowering_handle.cpp",
  23. ],
  24. hdrs = ["lowering_context.h"],
  25. deps = [
  26. "//common:check",
  27. "//toolchain/semantics:semantics_ir",
  28. "//toolchain/semantics:semantics_node",
  29. "//toolchain/semantics:semantics_node_kind",
  30. "@llvm-project//llvm:Core",
  31. "@llvm-project//llvm:Support",
  32. ],
  33. )
  34. file_test(
  35. name = "lowering_file_test",
  36. srcs = ["lowering_file_test.cpp"],
  37. tests = glob(["testdata/**/*.carbon"]),
  38. deps = [
  39. "//testing/file_test:file_test_base",
  40. "//toolchain/driver",
  41. "@com_google_googletest//:gtest",
  42. "@llvm-project//llvm:Support",
  43. ],
  44. )
  45. glob_sh_run(
  46. args = [
  47. "$(location //toolchain/driver:carbon)",
  48. "dump",
  49. "llvm-ir",
  50. ],
  51. data = ["//toolchain/driver:carbon"],
  52. file_exts = ["carbon"],
  53. )
  54. glob_sh_run(
  55. args = [
  56. "$(location //toolchain/driver:carbon)",
  57. "-v",
  58. "dump",
  59. "llvm-ir",
  60. ],
  61. data = ["//toolchain/driver:carbon"],
  62. file_exts = ["carbon"],
  63. run_ext = "verbose",
  64. )