set(PARALLEL_DIRS)

set(PARALLEL_DIRS automotive-basicmath automotive-bitcount automotive-susan consumer-jpeg consumer-lame consumer-typeset network-dijkstra network-patricia office-ispell office-stringsearch security-blowfish security-rijndael security-sha telecomm-CRC32 telecomm-FFT telecomm-adpcm telecomm-gsm)
if("${ARCH}" STREQUAL "ARM")
  llvm_filter_out(TMP1 office-ispell  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP1})
endif()
if("${ARCH}" STREQUAL "XCore")
  llvm_filter_out(TMP2 consumer-lame  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP2})
  llvm_filter_out(TMP3 office-ispell  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP3})
endif()
if(DEFINED BENCHMARKING_ONLY)
  llvm_filter_out(TMP4 office-stringsearch  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP4})
  llvm_filter_out(TMP5 office-ispell  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP5})
  llvm_filter_out(TMP6 security-blowfish  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP6})
  llvm_filter_out(TMP7 telecom-adpcm  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP7})
endif()

llvm_add_subdirectories(${PARALLEL_DIRS})
