about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJonathan A. Kollasch <jakllsch@kollasch.net>2016-12-03 10:53:31 -0600
committerJorge Aparicio <japaricious@gmail.com>2016-12-29 21:30:01 -0500
commit982849535d42a675ba85ad2c07db229e2604fe5a (patch)
tree7f26a6ba92f73ce6a1a1fb1b09e68d47739fe2a6
parente7c788af75c92c3e0f8e547f28d734757136527f (diff)
downloadrust-982849535d42a675ba85ad2c07db229e2604fe5a.tar.gz
rust-982849535d42a675ba85ad2c07db229e2604fe5a.zip
further enable the Sparc LLVM backend
-rwxr-xr-xconfigure2
-rw-r--r--mk/main.mk2
-rw-r--r--src/rustllvm/PassWrapper.cpp9
3 files changed, 10 insertions, 3 deletions
diff --git a/configure b/configure
index 4f1e8f656ae..d4721109457 100755
--- a/configure
+++ b/configure
@@ -1821,7 +1821,7 @@ do
         CMAKE_ARGS="$CMAKE_ARGS -DLLVM_ENABLE_ASSERTIONS=ON"
     fi
 
-    CMAKE_ARGS="$CMAKE_ARGS -DLLVM_TARGETS_TO_BUILD='X86;ARM;AArch64;Mips;PowerPC;SystemZ;JSBackend;MSP430'"
+    CMAKE_ARGS="$CMAKE_ARGS -DLLVM_TARGETS_TO_BUILD='X86;ARM;AArch64;Mips;PowerPC;SystemZ;JSBackend;MSP430;Sparc'"
     CMAKE_ARGS="$CMAKE_ARGS -G '$CFG_CMAKE_GENERATOR'"
     CMAKE_ARGS="$CMAKE_ARGS $CFG_LLVM_SRC_DIR"
 
diff --git a/mk/main.mk b/mk/main.mk
index d01ec07b424..2c646450d01 100644
--- a/mk/main.mk
+++ b/mk/main.mk
@@ -285,7 +285,7 @@ endif
 # LLVM macros
 ######################################################################
 
-LLVM_OPTIONAL_COMPONENTS=x86 arm aarch64 mips powerpc pnacl systemz jsbackend msp430
+LLVM_OPTIONAL_COMPONENTS=x86 arm aarch64 mips powerpc pnacl systemz jsbackend msp430 sparc
 LLVM_REQUIRED_COMPONENTS=ipo bitreader bitwriter linker asmparser mcjit \
                 interpreter instrumentation
 
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp
index c45d1c2d088..c94ad10bd4d 100644
--- a/src/rustllvm/PassWrapper.cpp
+++ b/src/rustllvm/PassWrapper.cpp
@@ -146,6 +146,12 @@ LLVMRustAddPass(LLVMPassManagerRef PM, LLVMPassRef rust_pass) {
 #define SUBTARGET_MSP430
 #endif
 
+#ifdef LLVM_COMPONENT_SPARC
+#define SUBTARGET_SPARC SUBTARGET(Sparc)
+#else
+#define SUBTARGET_SPARC
+#endif
+
 #define GEN_SUBTARGETS    \
         SUBTARGET_X86     \
         SUBTARGET_ARM     \
@@ -153,7 +159,8 @@ LLVMRustAddPass(LLVMPassManagerRef PM, LLVMPassRef rust_pass) {
         SUBTARGET_MIPS    \
         SUBTARGET_PPC     \
         SUBTARGET_SYSTEMZ \
-        SUBTARGET_MSP430
+        SUBTARGET_MSP430  \
+        SUBTARGET_SPARC
 
 #define SUBTARGET(x) namespace llvm {                \
     extern const SubtargetFeatureKV x##FeatureKV[];  \