[LLVMdev] lifetime.start/end clarification

Arnaud A. de Grandmaison arnaud.degrandmaison at arm.com
Tue Nov 4 09:23:05 PST 2014



> -----Original Message-----
> From: Renato Golin [mailto:renato.golin at linaro.org]
> Sent: 04 November 2014 18:17
> To: Arnaud De Grandmaison
> Cc: Hal Finkel; LLVM Developers Mailing List
> Subject: Re: [LLVMdev] lifetime.start/end clarification
> 
> On 4 November 2014 16:39, Arnaud A. de Grandmaison
> <arnaud.degrandmaison at arm.com> wrote:
> > Yes, I meant not visible in any dominating block. I believe assuming the ptr
> is alive from the function entry is conservatively correct, but not optimal. In
> my testcase, a lifetime.start could be inserted in the crit_edge bb.
> 
> Don't you mean "not visible from at least one dominating path"?

Ooops. Yes, I meant if there exists at least one path from function entry to lifetime.end without a the lifetime.start.

> 
> You may have many paths through (perhaps the same) blocks from the
> beginning of the function to a lifetime.end call, and if at least one of them
> doesn't have lifetime.start(), you're doomed. You'd have to scan all paths,
> not just the blocks, where lifetime.start could be defined.
> 
> I agree function entry is a safe assumption.
> 
> cheers,
> --renato








More information about the llvm-dev mailing list