Finally managed to compile LLVM and clang for microblaze. I find using configure –target= or -target doesnt work while using –enable-targets=”mblaze” worked. I found the documentation to be very poor on this and does not mention anything about the other options available in configure such as using –enable-targets. I also have found that many others have had the same problem and they never found the solution to it while all the solutions given didnt work.
Clang seems to compile fine with llvm although i am unsure if clang needs to be modified in order to compile to a new architecture. There seems to be very little documentation or guides on using llvm and clang for an architecture that is not provided by them with the source.
Perhaps it would be better if llvm was made to default to enable all architectures located in its target directory if the target architecture was not supplied to give the user more options rather than just defaulting to x86 architecture. Using ./configure –enable-targets=all will achieve it.