linux-sparse.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Potential problem with variable handling - Was: Handling of local variables in the backend
@ 2017-09-13 11:37 Dibyendu Majumdar
  2017-09-13 11:55 ` Luc Van Oostenryck
  0 siblings, 1 reply; 4+ messages in thread
From: Dibyendu Majumdar @ 2017-09-13 11:37 UTC (permalink / raw)
  To: Linux-Sparse

Hi,

On 12 September 2017 at 22:54, Dibyendu Majumdar <mobile@majumdar.org.uk> wrote:
> One issue I am facing at the moment is that there is no explicit
> alloca for each symbol that is used in a function - so that the
> backend has to detect when a symbol is accessed and then do alloca to
> associate stack space. In the LLVM backend this is not so much an
> issue as LLVM allows instructions to be inserted at a particular point
> - so my code just ensures that all the allocas go at the start of the
> function as required by LLVM. But I am having trouble with the other
> backend that doesn't have this capability.
>

I have been thinking about this issue for some time - i.e. that the
Sparse IR does not explicitly define or initialize local variables.
The back-end deals with it by doing it at first access. But this could
result in incorrect behavior if the initialization was meant to occur
at a certain point in the code. I should probably try to prove this
theory by creating a test - but intuitively it seems that if the
programmer had meant to initialize a variable at a particular point,
there could be a reason why it should be done at that point and not
some point later.

Regards
Dibyendu

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-09-13 13:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-13 11:37 Potential problem with variable handling - Was: Handling of local variables in the backend Dibyendu Majumdar
2017-09-13 11:55 ` Luc Van Oostenryck
2017-09-13 13:07   ` Dibyendu Majumdar
2017-09-13 13:42     ` Luc Van Oostenryck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).