This is an archive of the discontinued LLVM Phabricator instance.

Split out complex DIVariable address expressions
ClosedPublic

Authored by aprantl on Apr 27 2014, 3:47 PM.

Details

Reviewers
echristo
aprantl
Summary

Debug info: split out complex DIVariable address expressions into a separate MDNode so they can be uniqued via folding set magic. To conserve space, DIVariable nodes are still variable-length, with the last two fields being optional.

No functional change.

This is a prerequisite for generic DW_OP_piece support; http://reviews.llvm.org/D3373/.

Diff Detail

Event Timeline

aprantl updated this revision to Diff 8877.Apr 27 2014, 3:47 PM
aprantl retitled this revision from to Split out complex DIVariable address expressions.
aprantl updated this object.
aprantl edited the test plan for this revision. (Show Details)
aprantl added a reviewer: echristo.
aprantl set the repository for this revision to rL LLVM.
echristo edited edge metadata.Jun 27 2014, 3:25 PM

Few comments here, looks pretty good otherwise.

include/llvm/IR/DebugInfo.h
691

Needs a block comment here.

lib/IR/DIBuilder.cpp
1038

This is, I imagine, totally reasonable. Any reason why though? If so, just commit it with a commit message of why changing it is totally reasonable :)

lib/IR/DebugInfo.cpp
612

Hmm?

aprantl accepted this revision.Sep 29 2014, 2:30 PM
aprantl added a reviewer: aprantl.

This was LLVM r212050.

This revision is now accepted and ready to land.Sep 29 2014, 2:30 PM
aprantl closed this revision.Oct 3 2014, 5:29 PM