[PATCH] D33705: [CGVTables] Finalize SP before attempting to clone it

David Blaikie via cfe-commits cfe-commits at lists.llvm.org
Tue May 30 18:05:03 PDT 2017


I'll let Adrian weigh in - but I suspect, if possible, it'd be better to
just finalize them all once IRGen for the function finishes.
On Tue, May 30, 2017 at 6:02 PM Keno Fischer <keno at juliacomputing.com>
wrote:

> For some reason your comments aren't showing up on Phabricator, so
> replying via email - hope everybody sees it.
>
> If SPs are now all finalized early - I'm assuming there's some other code
>> that finalizes SPs that's no longer needed?
>>
>
> Not all of them, just the one before cloning. I wanted to make the minimal
> change possible here, since this already seems like a bit of a hack to work
> around the fact that we can't properly forward variadic function calls at
> the IR level.
>
>
>> Also - this seems like a layering/separation issue - does other code call
>> into the DI as casually/explicitly as this code being added to CGVTables?
>> (Or should the callback go through some more generic entry point in
>> CGDebugInfo to delegate/handle that?) & is there nothing in CGDebugInfo
>> that is already called back in a timely fashion to handle this? I'm
>> guessing what's needed is a "IR has finished being generated for this
>> function, opt/codegen is about to start"? That seems like a good generic
>> callback & probably shouldn't be coming from something called CGVTables?
>> (presuming there's a more general place to put that)
>>
>
> I suppose there's CGDebugInfo::EmitFunctionEnd, so if we did want to
> finalize every SP as soon as we're done with it, we could put an explicit
> call to that extent there. Frankly though I don't really know the clang
> code too well, I just want to unbreak LLVM ;).
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170531/67674d85/attachment-0001.html>


More information about the cfe-commits mailing list