[LLVMdev] MIPS 32bit code generation

Jim Grosbach grosbach at apple.com
Fri Oct 7 13:41:46 PDT 2011


I reiterate. You should fix the simulator. It is broken. The compiler is not. Fix what's broken.

-Jim

On Oct 7, 2011, at 1:11 PM, Gang-Ryung Uh wrote:

> Hi,
> 
>      I noticed one class in MipsInstrFormats.td:L46  -> Class MipsPseudo. I wonder whether I can use this. If does, I wonder what would be the right way to use. Thanks,
> 
> 
> 
> On Thu, Oct 6, 2011 at 11:29 AM, Akira Hatanaka <ahatanak at gmail.com> wrote:
> Do you want to replace
> 
> lui $2, %hi(g1)
> addiu $2, $2, %lo(g1)
> 
> with this?
> la $2, g1
> 
> If that is the case, you can add this pattern.
> 
> def op_la : Operand<i32>;
> 
> def LA :
>  FI<0x09, (outs CPURegs:$dst), (ins op_la:$addr0, op_la:$addr1),
>     "la $dst, $addr0", [(set CPURegs:$dst,
>                         (add (MipsHi tglobaladdr:$addr0), (MipsLo
> tglobaladdr:$addr1)))], IIAlu>;
> 
> Note that you still need to find a way to print "g1" instead of "%hi(g1)".
> 
> On Wed, Oct 5, 2011 at 4:01 PM, Gang-Ryung Uh <guh at boisestate.edu> wrote:
> > Hi,
> >      In order to emit "la $4,ADDR" instead of lui followed by addiu to load
> > the data address, could you advise what is proper way to revise td files in
> > the MIPS target?
> > Thanks,
> >
> > --
> > Gang-Ryung Uh, Associate Professor
> > Department of Computer Science
> > College of Engineering, Boise State Univerisity
> > tel: 1 208 426-5691  e-mail:guh at boisestate.edu
> > http://cs.boisestate.edu/~uh
> >
> >
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >
> >
> 
> 
> 
> -- 
> Gang-Ryung Uh, Associate Professor
> Department of Computer Science
> College of Engineering, Boise State Univerisity
> tel: 1 208 426-5691  e-mail:guh at boisestate.edu
> http://cs.boisestate.edu/~uh
> 
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list