TVMError: Check failed: bf != nullptr: Target llvm is not enabled

Hello everyone, Hope you are having a great time. I am trying to get the first example running (I’m refering to the tutorials section and the relay_quick_start.html#sphx-glr-tutorials-relay-quick-start-py) using intel_graphics. I have built the TVM with OpencCL support and everything went smoothly without a hitch! However, upon running this snippet :

    opt_level = 3
    target = tvm.target.intel_graphics()
    with relay.build_config(opt_level=opt_level):
        graph, lib, params = relay.build_module.build(
            mod, target, params=params)

I’m faced with these errors :

---------------------------------------------------------------------------
TVMError                                  Traceback (most recent call last)
d:\Codes\tvm_testbed\tvm_test1.py in 
      3 with relay.build_config(opt_level=opt_level):
      4     graph, lib, params = relay.build_module.build(
----> 5         mod, target, params=params)

~\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\relay\build_module.py in build(mod, target, target_host, params)
    246     with tophub_context:
    247         bld_mod = BuildModule()
--> 248         graph_json, mod, params = bld_mod.build(func, target, target_host, params)
    249     return graph_json, mod, params
    250 

~\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\relay\build_module.py in build(self, func, target, target_host, params)
    116             self._set_params(params)
    117         # Build the function
--> 118         self._build(func, target, target_host)
    119         # Get artifacts
    120         graph_json = self.get_json()

~\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\_ffi\_ctypes\function.py in __call__(self, *args)
    205                 self.handle, values, tcodes, ctypes.c_int(num_args),
    206                 ctypes.byref(ret_val), ctypes.byref(ret_tcode)) != 0:
--> 207             raise get_last_ffi_error()
    208         _ = temp_args
    209         _ = args

TVMError: Traceback (most recent call last):
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\_ffi\_ctypes\function.py", line 72, in cfun
    rv = local_pyfunc(*pyargs)
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\relay\backend\_backend.py", line 88, in build
    return _build.build(funcs, target=target, target_host=target_host)
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\build_module.py", line 644, in build
    mhost = codegen.build_module(fhost_all, str(target_host))
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\codegen.py", line 36, in build_module
    return _Build(lowered_func, target)
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\_ffi\_ctypes\function.py", line 207, in __call__
    raise get_last_ffi_error()
  File "D:\Codes\tvm_testbed\tvm\src\target\codegen.cc", line 57
TVMError: Check failed: bf != nullptr: Target llvm is not enabled

I’m on windows 10. and have built TVM with “Visual Studio 16 2019” . Any help is greatly appreciated .

Hi @ShishoSama

Please following SOP as below to configure the LLVM properly :slight_smile:

https://docs.tvm.ai/install/from_source.html

Hope helps,

Hi thank you very much.
last night I tried installing it using Visual Studio 16 2019 without a hitch and everything went smoothly. but since it seems, tvm needs llvm to work properly, I decided to build tvm with LLVM ON.
I followed the instrcutions at the link you kindly provided and built llvm from source and then tried building tvm using Ninja. However this is where it fails. Upon using the ninja to build it fails with these errors (building with vs2019 also fails as well):

D:\Codes\tvm_testbed\tvm_llvm\build>cmake .. -G Ninja
-- The C compiler identification is GNU 5.1.0
-- The CXX compiler identification is GNU 5.1.0
-- Check for working C compiler: C:/TDM-GCC-64/bin/gcc.exe
-- Check for working C compiler: C:/TDM-GCC-64/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/TDM-GCC-64/bin/c++.exe
-- Check for working CXX compiler: C:/TDM-GCC-64/bin/c++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build with RPC support...
-- Build with Graph runtime support...
-- Build VTA runtime with target: sim
-- Found OpenCL: C:/Windows/System32/OpenCL.dll (found version "2.1")
-- Build with OpenCL support
-- Use llvm-config=D:/Codes/tvm_testbed/tools/llvm-9.0.1.src.tar/llvm-9.0.1.src/Release/bin/llvm-config.exe
-- D:\Codes\tvm_testbed\tools\llvm-9.0.1.src.tar\llvm-9.0.1.src\Release\include
-- Found LLVM_INCLUDE_DIRS=D:\Codes\tvm_testbed\tools\llvm-9.0.1.src.tar\llvm-9.0.1.src\Release\include
-- Found LLVM_DEFINITIONS= -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -DUNICODE -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
-- Found TVM_LLVM_VERSION=90
-- Build with LLVM
-- Set TVM_LLVM_VERSION=90
-- Build with contrib.sort
-- Build with contrib.hybriddump
-- Performing Test SUPPORT_CXX11
-- Performing Test SUPPORT_CXX11 - Success
-- Build with c++11
-- Build with thread support...
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: D:/Codes/tvm_testbed/tvm_llvm/build

D:\Codes\tvm_testbed\tvm_llvm\build>Ninja
[1/315] Building CXX object CMakeFiles/vta_fsim.dir/vta/src/device_api.cc.obj
../vta/src/device_api.cc:1:0: warning: -fPIC ignored for target (all code is position independent)
 /*
 ^
[2/315] Building CXX object CMakeFiles/vta_fsim.dir/vta/src/runtime.cc.obj
../vta/src/runtime.cc:1:0: warning: -fPIC ignored for target (all code is position independent)
 /*
 ^
../vta/src/runtime.cc: In function 'void* VTABufferAlloc(size_t)':
../vta/src/runtime.cc:1324:7: warning: 'void* VTABufferAlloc(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 void* VTABufferAlloc(size_t size) {
       ^
../vta/src/runtime.cc: In function 'void VTABufferFree(void*)':
../vta/src/runtime.cc:1328:6: warning: 'void VTABufferFree(void*)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 void VTABufferFree(void* buffer) {
      ^
../vta/src/runtime.cc: In function 'void VTABufferCopy(const void*, size_t, void*, size_t, size_t, int)':
../vta/src/runtime.cc:1332:6: warning: 'void VTABufferCopy(const void*, size_t, void*, size_t, size_t, int)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 void VTABufferCopy(const void* from,
      ^
../vta/src/runtime.cc: In function 'void* VTATLSCommandHandle()':
../vta/src/runtime.cc:1365:18: warning: 'void* VTATLSCommandHandle()' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 VTACommandHandle VTATLSCommandHandle() {
                  ^
../vta/src/runtime.cc: In function 'void VTARuntimeShutdown()':
../vta/src/runtime.cc:1369:6: warning: 'void VTARuntimeShutdown()' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 void VTARuntimeShutdown() {
      ^
../vta/src/runtime.cc: In function 'void VTASetDebugMode(VTACommandHandle, int)':
../vta/src/runtime.cc:1373:6: warning: 'void VTASetDebugMode(VTACommandHandle, int)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 void VTASetDebugMode(VTACommandHandle cmd, int debug_flag) {
      ^
../vta/src/runtime.cc: In function 'void* VTABufferCPUPtr(VTACommandHandle, void*)':
../vta/src/runtime.cc:1378:7: warning: 'void* VTABufferCPUPtr(VTACommandHandle, void*)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 void* VTABufferCPUPtr(VTACommandHandle cmd, void* buffer) {
       ^
../vta/src/runtime.cc: In function 'void VTAWriteBarrier(VTACommandHandle, void*, uint32_t, uint32_t, uint32_t)':
../vta/src/runtime.cc:1382:6: warning: 'void VTAWriteBarrier(VTACommandHandle, void*, uint32_t, uint32_t, uint32_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 void VTAWriteBarrier(VTACommandHandle cmd,
      ^
../vta/src/runtime.cc: In function 'void VTAReadBarrier(VTACommandHandle, void*, uint32_t, uint32_t, uint32_t)':
../vta/src/runtime.cc:1391:6: warning: 'void VTAReadBarrier(VTACommandHandle, void*, uint32_t, uint32_t, uint32_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 void VTAReadBarrier(VTACommandHandle cmd,
      ^
../vta/src/runtime.cc: In function 'void VTALoadBuffer2D(VTACommandHandle, void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)':
../vta/src/runtime.cc:1400:6: warning: 'void VTALoadBuffer2D(VTACommandHandle, void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 void VTALoadBuffer2D(VTACommandHandle cmd,
      ^
../vta/src/runtime.cc: In function 'void VTAStoreBuffer2D(VTACommandHandle, uint32_t, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint32_t)':
../vta/src/runtime.cc:1420:6: warning: 'void VTAStoreBuffer2D(VTACommandHandle, uint32_t, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint32_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 void VTAStoreBuffer2D(VTACommandHandle cmd,
      ^
../vta/src/runtime.cc: In function 'void VTAUopPush(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, int32_t)':
../vta/src/runtime.cc:1434:6: warning: 'void VTAUopPush(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, int32_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 void VTAUopPush(uint32_t mode,
      ^
../vta/src/runtime.cc: In function 'void VTAUopLoopBegin(uint32_t, uint32_t, uint32_t, uint32_t)':
../vta/src/runtime.cc:1447:6: warning: 'void VTAUopLoopBegin(uint32_t, uint32_t, uint32_t, uint32_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 void VTAUopLoopBegin(uint32_t extent,
      ^
../vta/src/runtime.cc: In function 'void VTAUopLoopEnd()':
../vta/src/runtime.cc:1455:6: warning: 'void VTAUopLoopEnd()' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 void VTAUopLoopEnd() {
      ^
../vta/src/runtime.cc: In function 'int VTAPushGEMMOp(void**, int (*)(void*), void*, int)':
../vta/src/runtime.cc:1460:5: warning: 'int VTAPushGEMMOp(void**, int (*)(void*), void*, int)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 int VTAPushGEMMOp(void** uop_handle,
     ^
../vta/src/runtime.cc: In function 'int VTAPushALUOp(void**, int (*)(void*), void*, int)':
../vta/src/runtime.cc:1469:5: warning: 'int VTAPushALUOp(void**, int (*)(void*), void*, int)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 int VTAPushALUOp(void** uop_handle,
     ^
../vta/src/runtime.cc: In function 'int VTADepPush(VTACommandHandle, int, int)':
../vta/src/runtime.cc:1478:5: warning: 'int VTADepPush(VTACommandHandle, int, int)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 int VTADepPush(VTACommandHandle cmd, int from_qid, int to_qid) {
     ^
../vta/src/runtime.cc: In function 'int VTADepPop(VTACommandHandle, int, int)':
../vta/src/runtime.cc:1484:5: warning: 'int VTADepPop(VTACommandHandle, int, int)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 int VTADepPop(VTACommandHandle cmd, int from_qid, int to_qid) {
     ^
../vta/src/runtime.cc: In function 'void VTASynchronize(VTACommandHandle, uint32_t)':
../vta/src/runtime.cc:1490:6: warning: 'void VTASynchronize(VTACommandHandle, uint32_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 void VTASynchronize(VTACommandHandle cmd, uint32_t wait_cycles) {
      ^
[3/315] Building CXX object CMakeFiles/tvm.dir/src/relay/pass/alter_op_layout.cc.obj
FAILED: CMakeFiles/tvm.dir/src/relay/pass/alter_op_layout.cc.obj
C:\TDM-GCC-64\bin\c++.exe  -DDMLC_USE_FOPEN64=0 -DNDEBUG -DTVM_LLVM_VERSION=90 -DTVM_THREADPOOL_USE_OPENMP=0 -Dtvm_EXPORTS -I../include -I../3rdparty/dlpack/include -I../3rdparty/dmlc-core/include -I../3rdparty/rang/include -I../3rdparty/compiler-rt -I../3rdparty/picojson -I../vta/include -I"C:/Program Files (x86)/IntelSWTools/system_studio_2020/OpenCL/sdk/include" -ID:/Codes/tvm_testbed/tools/llvm-9.0.1.src.tar/llvm-9.0.1.src/Release/include -I../topi/include -std=c++11 -O2 -Wall -fPIC     -D_CRT_SECURE_NO_DEPRECATE  -D_CRT_SECURE_NO_WARNINGS  -D_CRT_NONSTDC_NO_DEPRECATE  -D_CRT_NONSTDC_NO_WARNINGS  -D_SCL_SECURE_NO_DEPRECATE  -D_SCL_SECURE_NO_WARNINGS  -DUNICODE  -D_UNICODE  -D__STDC_CONSTANT_MACROS  -D__STDC_FORMAT_MACROS  -D__STDC_LIMIT_MACROS -MD -MT CMakeFiles/tvm.dir/src/relay/pass/alter_op_layout.cc.obj -MF CMakeFiles\tvm.dir\src\relay\pass\alter_op_layout.cc.obj.d -o CMakeFiles/tvm.dir/src/relay/pass/alter_op_layout.cc.obj -c ../src/relay/pass/alter_op_layout.cc
../src/relay/pass/alter_op_layout.cc:1:0: warning: -fPIC ignored for target (all code is position independent)
 /*
 ^
In file included from ../include/tvm/relay/op_attr_types.h:28:0,
                 from ../include/tvm/relay/transform.h:30,
                 from ../src/relay/pass/alter_op_layout.cc:27:
../include/tvm/te/schedule.h:299:17: error: function 'tvm::te::Stage tvm::te::Schedule::operator[](const tvm::te::Tensor&)' definition is marked dllimport
   TVM_DLL Stage operator[](const Tensor& tensor) {
                 ^
../include/tvm/te/schedule.h:567:16: error: function 'bool tvm::te::ScheduleNode::Contain(const tvm::te::Tensor&) const' definition is marked dllimport
   TVM_DLL bool Contain(const Tensor& tensor) const {
                ^
../src/relay/pass/alter_op_layout.cc: In function 'tvm::relay::transform::Pass tvm::relay::transform::AlterOpLayout()':
../src/relay/pass/alter_op_layout.cc:120:6: warning: 'tvm::relay::transform::Pass tvm::relay::transform::AlterOpLayout()' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 Pass AlterOpLayout() {
      ^
[4/315] Building CXX object CMakeFiles/tvm.dir/src/relay/op/type_relations.cc.obj
FAILED: CMakeFiles/tvm.dir/src/relay/op/type_relations.cc.obj
C:\TDM-GCC-64\bin\c++.exe  -DDMLC_USE_FOPEN64=0 -DNDEBUG -DTVM_LLVM_VERSION=90 -DTVM_THREADPOOL_USE_OPENMP=0 -Dtvm_EXPORTS -I../include -I../3rdparty/dlpack/include -I../3rdparty/dmlc-core/include -I../3rdparty/rang/include -I../3rdparty/compiler-rt -I../3rdparty/picojson -I../vta/include -I"C:/Program Files (x86)/IntelSWTools/system_studio_2020/OpenCL/sdk/include" -ID:/Codes/tvm_testbed/tools/llvm-9.0.1.src.tar/llvm-9.0.1.src/Release/include -I../topi/include -std=c++11 -O2 -Wall -fPIC     -D_CRT_SECURE_NO_DEPRECATE  -D_CRT_SECURE_NO_WARNINGS  -D_CRT_NONSTDC_NO_DEPRECATE  -D_CRT_NONSTDC_NO_WARNINGS  -D_SCL_SECURE_NO_DEPRECATE  -D_SCL_SECURE_NO_WARNINGS  -DUNICODE  -D_UNICODE  -D__STDC_CONSTANT_MACROS  -D__STDC_FORMAT_MACROS  -D__STDC_LIMIT_MACROS -MD -MT CMakeFiles/tvm.dir/src/relay/op/type_relations.cc.obj -MF CMakeFiles\tvm.dir\src\relay\op\type_relations.cc.obj.d -o CMakeFiles/tvm.dir/src/relay/op/type_relations.cc.obj -c ../src/relay/op/type_relations.cc
../src/relay/op/type_relations.cc:1:0: warning: -fPIC ignored for target (all code is position independent)
 /*
 ^
In file included from ../include/tvm/tir/ir_pass.h:30:0,
                 from ../src/relay/op/type_relations.cc:27:
../include/tvm/te/schedule.h:299:17: error: function 'tvm::te::Stage tvm::te::Schedule::operator[](const tvm::te::Tensor&)' definition is marked dllimport
   TVM_DLL Stage operator[](const Tensor& tensor) {
                 ^
../include/tvm/te/schedule.h:567:16: error: function 'bool tvm::te::ScheduleNode::Contain(const tvm::te::Tensor&) const' definition is marked dllimport
   TVM_DLL bool Contain(const Tensor& tensor) const {
                ^
[5/315] Building CXX object CMakeFiles/tvm.dir/src/relay/pass/canonicalize_ops.cc.obj
FAILED: CMakeFiles/tvm.dir/src/relay/pass/canonicalize_ops.cc.obj
C:\TDM-GCC-64\bin\c++.exe  -DDMLC_USE_FOPEN64=0 -DNDEBUG -DTVM_LLVM_VERSION=90 -DTVM_THREADPOOL_USE_OPENMP=0 -Dtvm_EXPORTS -I../include -I../3rdparty/dlpack/include -I../3rdparty/dmlc-core/include -I../3rdparty/rang/include -I../3rdparty/compiler-rt -I../3rdparty/picojson -I../vta/include -I"C:/Program Files (x86)/IntelSWTools/system_studio_2020/OpenCL/sdk/include" -ID:/Codes/tvm_testbed/tools/llvm-9.0.1.src.tar/llvm-9.0.1.src/Release/include -I../topi/include -std=c++11 -O2 -Wall -fPIC     -D_CRT_SECURE_NO_DEPRECATE  -D_CRT_SECURE_NO_WARNINGS  -D_CRT_NONSTDC_NO_DEPRECATE  -D_CRT_NONSTDC_NO_WARNINGS  -D_SCL_SECURE_NO_DEPRECATE  -D_SCL_SECURE_NO_WARNINGS  -DUNICODE  -D_UNICODE  -D__STDC_CONSTANT_MACROS  -D__STDC_FORMAT_MACROS  -D__STDC_LIMIT_MACROS -MD -MT CMakeFiles/tvm.dir/src/relay/pass/canonicalize_ops.cc.obj -MF CMakeFiles\tvm.dir\src\relay\pass\canonicalize_ops.cc.obj.d -o CMakeFiles/tvm.dir/src/relay/pass/canonicalize_ops.cc.obj -c ../src/relay/pass/canonicalize_ops.cc
../src/relay/pass/canonicalize_ops.cc:1:0: warning: -fPIC ignored for target (all code is position independent)
 /*
 ^
In file included from ../include/tvm/relay/op_attr_types.h:28:0,
                 from ../include/tvm/relay/transform.h:30,
                 from ../src/relay/pass/canonicalize_ops.cc:29:
../include/tvm/te/schedule.h:299:17: error: function 'tvm::te::Stage tvm::te::Schedule::operator[](const tvm::te::Tensor&)' definition is marked dllimport
   TVM_DLL Stage operator[](const Tensor& tensor) {
                 ^
../include/tvm/te/schedule.h:567:16: error: function 'bool tvm::te::ScheduleNode::Contain(const tvm::te::Tensor&) const' definition is marked dllimport
   TVM_DLL bool Contain(const Tensor& tensor) const {
                ^
../src/relay/pass/canonicalize_ops.cc: In function 'tvm::relay::transform::Pass tvm::relay::transform::CanonicalizeOps()':
../src/relay/pass/canonicalize_ops.cc:71:6: warning: 'tvm::relay::transform::Pass tvm::relay::transform::CanonicalizeOps()' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 Pass CanonicalizeOps() {
      ^
[6/315] Building CXX object CMakeFiles/tvm.dir/src/relay/pass/canonicalize_cast.cc.obj
FAILED: CMakeFiles/tvm.dir/src/relay/pass/canonicalize_cast.cc.obj
C:\TDM-GCC-64\bin\c++.exe  -DDMLC_USE_FOPEN64=0 -DNDEBUG -DTVM_LLVM_VERSION=90 -DTVM_THREADPOOL_USE_OPENMP=0 -Dtvm_EXPORTS -I../include -I../3rdparty/dlpack/include -I../3rdparty/dmlc-core/include -I../3rdparty/rang/include -I../3rdparty/compiler-rt -I../3rdparty/picojson -I../vta/include -I"C:/Program Files (x86)/IntelSWTools/system_studio_2020/OpenCL/sdk/include" -ID:/Codes/tvm_testbed/tools/llvm-9.0.1.src.tar/llvm-9.0.1.src/Release/include -I../topi/include -std=c++11 -O2 -Wall -fPIC     -D_CRT_SECURE_NO_DEPRECATE  -D_CRT_SECURE_NO_WARNINGS  -D_CRT_NONSTDC_NO_DEPRECATE  -D_CRT_NONSTDC_NO_WARNINGS  -D_SCL_SECURE_NO_DEPRECATE  -D_SCL_SECURE_NO_WARNINGS  -DUNICODE  -D_UNICODE  -D__STDC_CONSTANT_MACROS  -D__STDC_FORMAT_MACROS  -D__STDC_LIMIT_MACROS -MD -MT CMakeFiles/tvm.dir/src/relay/pass/canonicalize_cast.cc.obj -MF CMakeFiles\tvm.dir\src\relay\pass\canonicalize_cast.cc.obj.d -o CMakeFiles/tvm.dir/src/relay/pass/canonicalize_cast.cc.obj -c ../src/relay/pass/canonicalize_cast.cc
../src/relay/pass/canonicalize_cast.cc:1:0: warning: -fPIC ignored for target (all code is position independent)
 /*
 ^
In file included from ../include/tvm/relay/op_attr_types.h:28:0,
                 from ../include/tvm/relay/transform.h:30,
                 from ../src/relay/pass/canonicalize_cast.cc:27:
../include/tvm/te/schedule.h:299:17: error: function 'tvm::te::Stage tvm::te::Schedule::operator[](const tvm::te::Tensor&)' definition is marked dllimport
   TVM_DLL Stage operator[](const Tensor& tensor) {
                 ^
../include/tvm/te/schedule.h:567:16: error: function 'bool tvm::te::ScheduleNode::Contain(const tvm::te::Tensor&) const' definition is marked dllimport
   TVM_DLL bool Contain(const Tensor& tensor) const {
                ^
../src/relay/pass/canonicalize_cast.cc: In function 'tvm::relay::transform::Pass tvm::relay::transform::CanonicalizeCast()':
../src/relay/pass/canonicalize_cast.cc:131:6: warning: 'tvm::relay::transform::Pass tvm::relay::transform::CanonicalizeCast()' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
 Pass CanonicalizeCast() {
      ^
[7/315] Building CXX object CMakeFiles/tvm.dir/src/relay/op/tensor/unary.cc.obj
FAILED: CMakeFiles/tvm.dir/src/relay/op/tensor/unary.cc.obj
C:\TDM-GCC-64\bin\c++.exe  -DDMLC_USE_FOPEN64=0 -DNDEBUG -DTVM_LLVM_VERSION=90 -DTVM_THREADPOOL_USE_OPENMP=0 -Dtvm_EXPORTS -I../include -I../3rdparty/dlpack/include -I../3rdparty/dmlc-core/include -I../3rdparty/rang/include -I../3rdparty/compiler-rt -I../3rdparty/picojson -I../vta/include -I"C:/Program Files (x86)/IntelSWTools/system_studio_2020/OpenCL/sdk/include" -ID:/Codes/tvm_testbed/tools/llvm-9.0.1.src.tar/llvm-9.0.1.src/Release/include -I../topi/include -std=c++11 -O2 -Wall -fPIC     -D_CRT_SECURE_NO_DEPRECATE  -D_CRT_SECURE_NO_WARNINGS  -D_CRT_NONSTDC_NO_DEPRECATE  -D_CRT_NONSTDC_NO_WARNINGS  -D_SCL_SECURE_NO_DEPRECATE  -D_SCL_SECURE_NO_WARNINGS  -DUNICODE  -D_UNICODE  -D__STDC_CONSTANT_MACROS  -D__STDC_FORMAT_MACROS  -D__STDC_LIMIT_MACROS -MD -MT CMakeFiles/tvm.dir/src/relay/op/tensor/unary.cc.obj -MF CMakeFiles\tvm.dir\src\relay\op\tensor\unary.cc.obj.d -o CMakeFiles/tvm.dir/src/relay/op/tensor/unary.cc.obj -c ../src/relay/op/tensor/unary.cc
../src/relay/op/tensor/unary.cc:1:0: warning: -fPIC ignored for target (all code is position independent)
 /*
 ^
In file included from ../include/tvm/tir/ir_pass.h:30:0,
                 from ../topi/include/topi/elemwise.h:28,
                 from ../src/relay/op/tensor/unary.cc:27:
../include/tvm/te/schedule.h:299:17: error: function 'tvm::te::Stage tvm::te::Schedule::operator[](const tvm::te::Tensor&)' definition is marked dllimport
   TVM_DLL Stage operator[](const Tensor& tensor) {
                 ^
../include/tvm/te/schedule.h:567:16: error: function 'bool tvm::te::ScheduleNode::Contain(const tvm::te::Tensor&) const' definition is marked dllimport
   TVM_DLL bool Contain(const Tensor& tensor) const {
                ^
[8/315] Building CXX object CMakeFiles/tvm.dir/src/relay/op/vision/rcnn_op.cc.obj
FAILED: CMakeFiles/tvm.dir/src/relay/op/vision/rcnn_op.cc.obj
C:\TDM-GCC-64\bin\c++.exe  -DDMLC_USE_FOPEN64=0 -DNDEBUG -DTVM_LLVM_VERSION=90 -DTVM_THREADPOOL_USE_OPENMP=0 -Dtvm_EXPORTS -I../include -I../3rdparty/dlpack/include -I../3rdparty/dmlc-core/include -I../3rdparty/rang/include -I../3rdparty/compiler-rt -I../3rdparty/picojson -I../vta/include -I"C:/Program Files (x86)/IntelSWTools/system_studio_2020/OpenCL/sdk/include" -ID:/Codes/tvm_testbed/tools/llvm-9.0.1.src.tar/llvm-9.0.1.src/Release/include -I../topi/include -std=c++11 -O2 -Wall -fPIC     -D_CRT_SECURE_NO_DEPRECATE  -D_CRT_SECURE_NO_WARNINGS  -D_CRT_NONSTDC_NO_DEPRECATE  -D_CRT_NONSTDC_NO_WARNINGS  -D_SCL_SECURE_NO_DEPRECATE  -D_SCL_SECURE_NO_WARNINGS  -DUNICODE  -D_UNICODE  -D__STDC_CONSTANT_MACROS  -D__STDC_FORMAT_MACROS  -D__STDC_LIMIT_MACROS -MD -MT CMakeFiles/tvm.dir/src/relay/op/vision/rcnn_op.cc.obj -MF CMakeFiles\tvm.dir\src\relay\op\vision\rcnn_op.cc.obj.d -o CMakeFiles/tvm.dir/src/relay/op/vision/rcnn_op.cc.obj -c ../src/relay/op/vision/rcnn_op.cc
../src/relay/op/vision/rcnn_op.cc:1:0: warning: -fPIC ignored for target (all code is position independent)
 /*
 ^
In file included from ../include/tvm/relay/op_attr_types.h:28:0,
                 from ../src/relay/op/vision/rcnn_op.cc:25:
../include/tvm/te/schedule.h:299:17: error: function 'tvm::te::Stage tvm::te::Schedule::operator[](const tvm::te::Tensor&)' definition is marked dllimport
   TVM_DLL Stage operator[](const Tensor& tensor) {
                 ^
../include/tvm/te/schedule.h:567:16: error: function 'bool tvm::te::ScheduleNode::Contain(const tvm::te::Tensor&) const' definition is marked dllimport
   TVM_DLL bool Contain(const Tensor& tensor) const {
                ^
[9/315] Building CXX object CMakeFiles/tvm.dir/src/relay/op/vision/multibox_op.cc.obj
../src/relay/op/vision/multibox_op.cc:1:0: warning: -fPIC ignored for target (all code is position independent)
 /*
 ^
[10/315] Building CXX object CMakeFiles/tvm.dir/src/relay/op/tensor/transform.cc.obj
FAILED: CMakeFiles/tvm.dir/src/relay/op/tensor/transform.cc.obj
C:\TDM-GCC-64\bin\c++.exe  -DDMLC_USE_FOPEN64=0 -DNDEBUG -DTVM_LLVM_VERSION=90 -DTVM_THREADPOOL_USE_OPENMP=0 -Dtvm_EXPORTS -I../include -I../3rdparty/dlpack/include -I../3rdparty/dmlc-core/include -I../3rdparty/rang/include -I../3rdparty/compiler-rt -I../3rdparty/picojson -I../vta/include -I"C:/Program Files (x86)/IntelSWTools/system_studio_2020/OpenCL/sdk/include" -ID:/Codes/tvm_testbed/tools/llvm-9.0.1.src.tar/llvm-9.0.1.src/Release/include -I../topi/include -std=c++11 -O2 -Wall -fPIC     -D_CRT_SECURE_NO_DEPRECATE  -D_CRT_SECURE_NO_WARNINGS  -D_CRT_NONSTDC_NO_DEPRECATE  -D_CRT_NONSTDC_NO_WARNINGS  -D_SCL_SECURE_NO_DEPRECATE  -D_SCL_SECURE_NO_WARNINGS  -DUNICODE  -D_UNICODE  -D__STDC_CONSTANT_MACROS  -D__STDC_FORMAT_MACROS  -D__STDC_LIMIT_MACROS -MD -MT CMakeFiles/tvm.dir/src/relay/op/tensor/transform.cc.obj -MF CMakeFiles\tvm.dir\src\relay\op\tensor\transform.cc.obj.d -o CMakeFiles/tvm.dir/src/relay/op/tensor/transform.cc.obj -c ../src/relay/op/tensor/transform.cc
../src/relay/op/tensor/transform.cc:1:0: warning: -fPIC ignored for target (all code is position independent)
 /*
 ^
In file included from ../include/tvm/te/operation.h:29:0,
                 from ../topi/include/topi/transform.h:28,
                 from ../src/relay/op/tensor/transform.cc:31:
../include/tvm/te/schedule.h:299:17: error: function 'tvm::te::Stage tvm::te::Schedule::operator[](const tvm::te::Tensor&)' definition is marked dllimport
   TVM_DLL Stage operator[](const Tensor& tensor) {
                 ^
../include/tvm/te/schedule.h:567:16: error: function 'bool tvm::te::ScheduleNode::Contain(const tvm::te::Tensor&) const' definition is marked dllimport
   TVM_DLL bool Contain(const Tensor& tensor) const {
                ^
[11/315] Building CXX object CMakeFiles/tvm.dir/src/relay/op/vision/nms.cc.obj
../src/relay/op/vision/nms.cc:1:0: warning: -fPIC ignored for target (all code is position independent)
 /*
 ^
[12/315] Building CXX object CMakeFiles/tvm.dir/src/relay/op/vision/yolo.cc.obj
FAILED: CMakeFiles/tvm.dir/src/relay/op/vision/yolo.cc.obj
C:\TDM-GCC-64\bin\c++.exe  -DDMLC_USE_FOPEN64=0 -DNDEBUG -DTVM_LLVM_VERSION=90 -DTVM_THREADPOOL_USE_OPENMP=0 -Dtvm_EXPORTS -I../include -I../3rdparty/dlpack/include -I../3rdparty/dmlc-core/include -I../3rdparty/rang/include -I../3rdparty/compiler-rt -I../3rdparty/picojson -I../vta/include -I"C:/Program Files (x86)/IntelSWTools/system_studio_2020/OpenCL/sdk/include" -ID:/Codes/tvm_testbed/tools/llvm-9.0.1.src.tar/llvm-9.0.1.src/Release/include -I../topi/include -std=c++11 -O2 -Wall -fPIC     -D_CRT_SECURE_NO_DEPRECATE  -D_CRT_SECURE_NO_WARNINGS  -D_CRT_NONSTDC_NO_DEPRECATE  -D_CRT_NONSTDC_NO_WARNINGS  -D_SCL_SECURE_NO_DEPRECATE  -D_SCL_SECURE_NO_WARNINGS  -DUNICODE  -D_UNICODE  -D__STDC_CONSTANT_MACROS  -D__STDC_FORMAT_MACROS  -D__STDC_LIMIT_MACROS -MD -MT CMakeFiles/tvm.dir/src/relay/op/vision/yolo.cc.obj -MF CMakeFiles\tvm.dir\src\relay\op\vision\yolo.cc.obj.d -o CMakeFiles/tvm.dir/src/relay/op/vision/yolo.cc.obj -c ../src/relay/op/vision/yolo.cc
../src/relay/op/vision/yolo.cc:1:0: warning: -fPIC ignored for target (all code is position independent)
 /*
 ^
In file included from ../include/tvm/te/operation.h:29:0,
                 from ../topi/include/topi/vision/reorg.h:27,
                 from ../src/relay/op/vision/yolo.cc:26:
../include/tvm/te/schedule.h:299:17: error: function 'tvm::te::Stage tvm::te::Schedule::operator[](const tvm::te::Tensor&)' definition is marked dllimport
   TVM_DLL Stage operator[](const Tensor& tensor) {
                 ^
../include/tvm/te/schedule.h:567:16: error: function 'bool tvm::te::ScheduleNode::Contain(const tvm::te::Tensor&) const' definition is marked dllimport
   TVM_DLL bool Contain(const Tensor& tensor) const {
                ^
ninja: build stopped: subcommand failed.

D:\Codes\tvm_testbed\tvm_llvm\build>

I got this error because of GCC in my Path! I built llvm from source, and added the bin directory to the path, however, I couldnt find any clang related files! so I downloaded the prebuilt LLVM, and added it to my PATH. The problem here is solved but a new one is generated which can be seen [here]: TVM wont compile using llvm on windows