@@ -9,25 +9,37 @@ BUILD_LLVM_CLANG := 1
9
9
# because it's a build requirement
10
10
endif
11
11
12
- ifeq ($(USE_POLLY ) ,1)
12
+ ifeq ($(USE_RV ) ,1)
13
+ BUILD_LLVM_CLANG := 1
14
+ # because it's a build requirement
15
+ endif
16
+
17
+
13
18
ifeq ($(USE_SYSTEM_LLVM ) ,0)
14
19
ifneq ($(LLVM_VER ) ,svn)
20
+ ifeq ($(USE_POLLY ) ,1)
15
21
$(error USE_POLLY=1 requires LLVM_VER=svn)
16
22
endif
17
- endif
18
- endif
19
23
20
24
ifeq ($(USE_MLIR ) ,1)
21
- ifeq ($(USE_SYSTEM_LLVM ) ,0)
22
- ifneq ($(LLVM_VER ) ,svn)
23
25
$(error USE_MLIR=1 requires LLVM_VER=svn)
24
26
endif
27
+
28
+ ifeq ($(USE_RV ) ,1)
29
+ $(error USE_RV=1 requires LLVM_VER=svn)
30
+ endif
25
31
endif
26
32
endif
27
33
34
+ ifneq ($(USE_RV ) ,)
35
+ LLVM_RV_GIT_URL ?= https://github.com/cdl-saarland/rv
36
+ LLVM_RV_GIT_VER ?= release_90
37
+ endif
38
+
28
39
29
40
# for Monorepo
30
41
LLVM_ENABLE_PROJECTS :=
42
+ LLVM_EXTERNAL_PROJECTS :=
31
43
ifeq ($(BUILD_LLVM_CLANG ) , 1)
32
44
LLVM_ENABLE_PROJECTS := $(LLVM_ENABLE_PROJECTS ) ;clang;compiler-rt
33
45
endif
40
52
ifeq ($(USE_MLIR ) , 1)
41
53
LLVM_ENABLE_PROJECTS := $(LLVM_ENABLE_PROJECTS ) ;mlir
42
54
endif
55
+ ifeq ($(USE_RV ) , 1)
56
+ LLVM_EXTERNAL_PROJECTS := $(LLVM_EXTERNAL_PROJECTS ) ;rv
57
+ endif
43
58
44
59
include $(SRCDIR ) /llvm-options.mk
45
60
LLVM_LIB_FILE := libLLVMCodeGen.a
@@ -79,6 +94,12 @@ LLVM_CMAKE :=
79
94
# MONOREPO
80
95
ifeq ($(LLVM_VER ) ,svn)
81
96
LLVM_CMAKE += -DLLVM_ENABLE_PROJECTS="$(LLVM_ENABLE_PROJECTS ) "
97
+ LLVM_CMAKE += -DLLVM_EXTERNAL_PROJECTS="$(LLVM_EXTERNAL_PROJECTS ) "
98
+
99
+ ifeq ($(USE_RV ) ,1)
100
+ LLVM_CMAKE += -DLLVM_EXTERNAL_RV_SOURCE_DIR=$(LLVM_MONOSRC_DIR ) /rv
101
+ LLVM_CMAKE += -DLLVM_CXX_STD=c++14
102
+ endif
82
103
endif
83
104
84
105
# Allow adding LLVM specific flags
@@ -362,6 +383,11 @@ endif # LLVM_GIT_VER
362
383
# Debug output only. Disable pager and ignore error.
363
384
(cd $(LLVM_SRC_DIR) && \
364
385
git show HEAD --stat | cat) || true
386
+ ifneq ($(USE_RV ) ,)
387
+ git clone -b $(LLVM_RV_GIT_VER) $(LLVM_RV_GIT_URL) $(LLVM_MONOSRC_DIR)/rv
388
+ (cd $(LLVM_MONOSRC_DIR)/rv && \
389
+ git submodule update --init) || true
390
+ endif
365
391
endif # LLVM_VER
366
392
ifneq ($(LLVM_VER ) ,svn)
367
393
ifneq ($(LLVM_CLANG_TAR ) ,)
0 commit comments