IntrinsicLowering::AddPrototypes

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

IntrinsicLowering::AddPrototypes

Reed Kotler
It seems that several intrinsics are missing from this routine.

In particular, floor, which was causing problems in the mips16 port.

Is there some reason to not add the ones that are missing?

For example, adding the following fixed my problem with floor.

       case Intrinsic::floor:
         EnsureFPIntrinsicsExist(M, I, "floorf", "floor", "floor");
         break;




_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: IntrinsicLowering::AddPrototypes

Reed Kotler
Ooops... Ignore this previous mail.

The problem still exists with this change.

On 07/28/2013 02:36 PM, reed kotler wrote:

> It seems that several intrinsics are missing from this routine.
>
> In particular, floor, which was causing problems in the mips16 port.
>
> Is there some reason to not add the ones that are missing?
>
> For example, adding the following fixed my problem with floor.
>
>        case Intrinsic::floor:
>          EnsureFPIntrinsicsExist(M, I, "floorf", "floor", "floor");
>          break;


_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: IntrinsicLowering::AddPrototypes

Eli Bendersky



On Sun, Jul 28, 2013 at 3:02 PM, Reed Kotler <[hidden email]> wrote:
Ooops... Ignore this previous mail.

The problem still exists with this change.


On 07/28/2013 02:36 PM, reed kotler wrote:
It seems that several intrinsics are missing from this routine.

In particular, floor, which was causing problems in the mips16 port.

Is there some reason to not add the ones that are missing?

For example, adding the following fixed my problem with floor.

       case Intrinsic::floor:
         EnsureFPIntrinsicsExist(M, I, "floorf", "floor", "floor");
         break;


Note that this code is being used mainly (only?) by the Interpreter.

Eli
 

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: IntrinsicLowering::AddPrototypes

Reed Kotler
On 07/29/2013 09:24 AM, Eli Bendersky wrote:



On Sun, Jul 28, 2013 at 3:02 PM, Reed Kotler <[hidden email]> wrote:
Ooops... Ignore this previous mail.

The problem still exists with this change.


On 07/28/2013 02:36 PM, reed kotler wrote:
It seems that several intrinsics are missing from this routine.

In particular, floor, which was causing problems in the mips16 port.

Is there some reason to not add the ones that are missing?

For example, adding the following fixed my problem with floor.

       case Intrinsic::floor:
         EnsureFPIntrinsicsExist(M, I, "floorf", "floor", "floor");
         break;


Note that this code is being used mainly (only?) by the Interpreter.

Eli
 
Yes.

I don't know the source of this problem with some intrinsics being declared improperly.
Sin, cos are okay but Floor and trunc not.

I have a workaround that I will implement today.

For mips16 pic mode I need to make calls to helper functions for functions with certain prototype.

I intend to move this logic to an earlier place where I am operating on clang ir but for now it is being handled during call lowering and I rely on Args and RetTy being correct.




_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev