This is an archive of the discontinued LLVM Phabricator instance.

[clang] Remove the DIFlagArgumentNotModified debug info flag
ClosedPublic

Authored by djtodoro on Sep 30 2019, 5:08 AM.

Details

Summary

It turns out that the ExprMutationAnalyzer can be very slow when AST gets huge in some cases. The idea is to move this analysis to the LLVM back-end level (more precisely, in the LiveDebugValues pass). The new approach will remove the performance regression, simplify the implementation and give us front-end independent implementation.

Diff Detail

Event Timeline

djtodoro created this revision.Sep 30 2019, 5:08 AM
djtodoro retitled this revision from WIP: [clang] Remove the DIFlagArgumentNotModified debug info flag to [clang] Remove the DIFlagArgumentNotModified debug info flag.Oct 15 2019, 12:24 AM
djtodoro added reviewers: aprantl, vsk.
djtodoro removed subscribers: vsk, aprantl.
aprantl accepted this revision.Oct 15 2019, 1:17 PM
This revision is now accepted and ready to land.Oct 15 2019, 1:17 PM
vsk accepted this revision.Oct 15 2019, 1:36 PM

Sgtm.

djtodoro updated this revision to Diff 229282.Nov 14 2019, 5:16 AM

-Rebasing on top of the latest LLVM

Please land this sooner rather than later before people start depending on it.

Sure. I agree.

This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptNov 15 2019, 2:14 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript
djtodoro reopened this revision.Nov 15 2019, 3:26 AM

After landing this, I see one LLDB test depends on this. I made a workaround to avoid testing it at the moment. I will remove the workaround when landing the D68209.
WDYT?

This revision is now accepted and ready to land.Nov 15 2019, 3:26 AM
djtodoro updated this revision to Diff 229495.Nov 15 2019, 3:27 AM

-Add the workaround in the LLDB test

vsk added a comment.Nov 15 2019, 7:31 AM

I’d expect only the entry values test to fail. Is that the one? Could you just mark it as skipped (there are examples of how to do this for inline tests, see the skipIf decorator) and file a bugzilla PR for me to look at?

I will do that way.
Yes, only the entry values test fails, so we should skip only that one.

djtodoro updated this revision to Diff 230054.Nov 19 2019, 6:17 AM

-Update the lldb test for the entry values feature

@vsk I have created the bug (llvm.org/pr44059), do you think this is OK?

vsk accepted this revision.Nov 19 2019, 9:41 AM

Thanks!

This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptNov 20 2019, 1:08 AM
clang/lib/CodeGen/CGDebugInfo.cpp