please review - initial putback for implementing functionality for mips16/nomips16 attributes

Reed Kotler rkotler at mips.com
Thu Mar 14 10:54:06 PDT 2013


The Mips target specific part I can commit myself but this addition to 
the target independent part should be reviewed. It's just a few line 
method used to rest the list of register classes.

On 03/14/2013 12:39 AM, Reed Kotler wrote:
>
>
>
>
> I added one method which clears the list of register classes.
>
> Then there is a change to mips16 code which simulates switching from
> mips32 to mips16 mode in the same module. It seems to work fine in that
> I can run this version of llvm for mips16 and it works identical to the
> one without this code. Beyond the "make check" I have run test-suite
> against this version.
>
> We could just putback the change to include/llvm/Target/TargetLowering.h
> but by adding the change to
> lib/Target/Mips/Mips16ISelLowering.cpp
>    which is a nop for the mips16 compiler, we are able to test that this
> feature works and that doing things this way allows one to change
> register sets on a per function basis.
>
> The idea here is to add two of the mips32 register sets (including float
> point which should have a big effect on things) and then
> computeRegisterProperties() and then revert things to mips16 only
> registers and call
> computeRegisterProperties() again.
>
> I have several more patches I will need to complete this mips16/nomips16
> feature but it's easier to do this in pieces.
>
> In the end I will remove this testing code from
> lib/Target/Mips/Mips16ISelLowering.cpp and create a real test case for
> this. For now this test code shows how this feature can work for other
> ports like Arm than have a similar need.
>
>
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits-Tmj1lob9twqVc3sceRu5cw at public.gmane.org
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>





More information about the llvm-commits mailing list