search for: trackingmdref

Displaying 4 results from an estimated 4 matches for "trackingmdref".

2015 Nov 22
2
BuildMI crashes on a certain probability on the exact same test
...0010df459d6 llvm::MetadataTracking::track(void*, llvm::Metadata&, llvm::PointerUnion<llvm::MetadataAsValue*, llvm::Metadata*>) + 262 7 clang 0x000000010e1bcf50 llvm::MetadataTracking::track(llvm::Metadata*&) + 64 8 clang 0x000000010e1bcefa llvm::TrackingMDRef::track() + 42 9 clang 0x000000010e1bcec6 llvm::TrackingMDRef::TrackingMDRef(llvm::TrackingMDRef const&) + 38 10 clang 0x000000010e1bce8d llvm::TrackingMDRef::TrackingMDRef(llvm::TrackingMDRef const&) + 29 11 clang 0x000000010e1bce5d...
2018 Jun 23
4
RFC: Should SmallVectors be smaller?
> On Jun 23, 2018, at 10:14, Chris Lattner <clattner at nondot.org> wrote: > > > >> On Jun 23, 2018, at 9:11 AM, Duncan P. N. Exon Smith <dexonsmith at apple.com <mailto:dexonsmith at apple.com>> wrote: >> >>> >>> I think we might be better off just reducing the pre-allocation size of most of our SmallVectors across LLVM and Clang.
2014 Nov 10
5
[LLVMdev] [RFC] Separating Metadata from the Value hierarchy
...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 references. (Maybe `MDNodeFwdRef` is a better name tha...
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