BUILD 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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_function_context.cpp",
  23. "lowering_handle.cpp",
  24. ],
  25. hdrs = [
  26. "lowering_context.h",
  27. "lowering_function_context.h",
  28. ],
  29. deps = [
  30. "//common:check",
  31. "//common:vlog",
  32. "//toolchain/semantics:semantics_ir",
  33. "//toolchain/semantics:semantics_node",
  34. "//toolchain/semantics:semantics_node_kind",
  35. "@llvm-project//llvm:Core",
  36. "@llvm-project//llvm:Support",
  37. ],
  38. )
  39. file_test(
  40. name = "lowering_file_test",
  41. srcs = ["lowering_file_test.cpp"],
  42. tests = glob(["testdata/**/*.carbon"]),
  43. deps = [
  44. "//toolchain/driver:driver_file_test_base",
  45. "@llvm-project//llvm:Support",
  46. ],
  47. )
  48. glob_sh_run(
  49. args = [
  50. "$(location //toolchain/driver:carbon)",
  51. "dump",
  52. "llvm-ir",
  53. ],
  54. data = ["//toolchain/driver:carbon"],
  55. file_exts = ["carbon"],
  56. )
  57. glob_sh_run(
  58. args = [
  59. "$(location //toolchain/driver:carbon)",
  60. "-v",
  61. "dump",
  62. "llvm-ir",
  63. ],
  64. data = ["//toolchain/driver:carbon"],
  65. file_exts = ["carbon"],
  66. run_ext = "verbose",
  67. )