Displaying 4 results from an estimated 4 matches for "tempmdnode".
2014 Nov 10
5
[LLVMdev] [RFC] Separating Metadata from the Value hierarchy
...w pointers to MDNodes everywhere.
Almost.
Two caveats:
1. Handles should generally be `MDRef` instead of `Metadata*`, since I
threw in reference-counting semantics so that no-longer-referenced
metadata cleans itself up.
2. If a handle might point to a forward reference -- i.e., a
`TempMDNode` in this patch -- it should use `TrackingMDRef`. When
the forward reference gets resolved, it updates all of its tracking
references.
Nevertheless, `sizeof(MDRef) == sizeof(TrackingMDRef) == sizeof(void*)`.
Frontends *only* pay memory overhead for the currently-unresolved
forward referenc...
2016 Feb 24
0
How to resolve debug info forward types
...file,
loc.m_Line,
sizeOf(actual) * 8, alignOf(actual) * 8,
0, nullptr, elts);
it = m_TmpStructDI.find(name);
if (it != m_TmpStructDI.end()) {
MDNode *node = /* the result from
createReplaceableCompositeType earlier */
llvm::TempMDNode fwd_decl(node);
m_DIBuilder->replaceTemporary(std::move(fwd_decl), result);
You will need to keep a map of outstanding temporary forward declarations
to do this.
On Wed, Feb 24, 2016 at 5:09 PM, Rodney M. Bates via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Before metad...
2016 Feb 24
3
How to resolve debug info forward types
Before metadata was separated from values, I could create a debug info forward
declaration and eventually resolve it using LLVMReplaceAllUsesWith in core.h.
Now, I can't figure out how to resolve it. I can find no function that seems
to do this. My one wild guess that giving the forward decl and the resolving
decl the same UniqueId might do it is not working.
I am currently using 3.6.1, but
2014 Nov 10
12
[LLVMdev] [RFC] Separating Metadata from the Value hierarchy
TL;DR: If you use metadata (especially if it's out-of-tree), check the
numbered list of lost functionality below to see whether I'm trying to
break your compiler permanently.
In response to my recent commits (e.g., [1]) that changed API from
`MDNode` to `Value`, Eric had a really interesting idea [2] -- split
metadata entirely from the `Value` hierarchy, and drop general support
for