[LLVMdev] LLVM and Interrupt Service Routines.

Alireza.Moshtaghi at microchip.com Alireza.Moshtaghi at microchip.com
Tue Jul 21 11:00:02 PDT 2009


PIC16 is a slightly different animal. It is not only the entry and exit
part of the ISR that are important; also the ISR has to be placed at a
certain location in memory. In addition, since PIC16 does not have a
stack, we have to play few tricks to provide reentrancy for library and
intrinsic functions that are called from ISR as well because save and
restore is also very expensive on these processors. So I don't think
calling convention is a good idea for us.

A.

> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
On
> Behalf Of Sylvere Teissier
> Sent: Tuesday, July 21, 2009 10:24 AM
> To: LLVM Developers Mailing List
> Subject: Re: [LLVMdev] LLVM and Interrupt Service Routines.
> 
> > How each target handles the code generation
> > differences will be the interesting part.
> 
> Why not use a target specific calling convention?
> 
> An interrupt is like a normal function call, it only has a different
> calling convention.
> 
> 
> 
> _______________________________________________
> 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