[LLVMdev] LLVM3.2 Backend for mips1 subtarget

Reed Kotler
Fri, 26 Apr 2013 09:15:49 -0000

If you want to create a version for the mips1 subtarget, going back in
time will probably be a lot of work for you.

If you want to modify the current version you might try the following:
1) Create a Mips1 predicate and use that to disable instruction patterns
that match using non Mips1 instructions.
2) Use soft-float
3) You would need to reenable some commented out code used to implement
conditional move instructions on Mips1 . You will see that in the Mips
Isel lowering class.

We chose to not support Mips 1 a while back so this is about as much as
I can help you on this.

Why not just use the llvm 2.9 backend and clang front end?

Reed

On 04/25/2013 07:03 PM, Feng Liu wrote:
> Hi Everybody,
>
> I'm working a project which requires assembly code for mips1
> architecture for simulation purpose. I checked the latest LLVM3.2
> version and found that the backend has been removed. I tried to replace
> the MIPS backed in LLVM3.2 by the old one in LLVM2.9 (which contains
> mips1) and adjust some routines to get the backend compiled. However,
> when llc is used to generate the assembly, there are some internal
> faults such as very large physical register id in the register
> allocation phase.
>
> Would anyone to give me some suggestions to bring the mips1 backend to
> the latest LLVM version in this case? Thank you very much!
>
> Best,
> Feng
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>