search for: oldedg

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

Did you mean: older
2017 Jul 31
3
[RFC] Profile guided section layout
Hi Rafael, On 07/31/2017 04:20 PM, Rafael Avila de Espindola via llvm-dev wrote: > However, do we need to start with instrumentation? The original paper > uses sampling with good results and current intel cpus can record every > branch in a program. > > I would propose starting with just an lld patch that reads the call > graph from a file. The format would be very similar to
2017 Jul 31
2
[RFC] Profile guided section layout
...Sections.begin(), + To.Sections.end()); + To.Sections.clear(); + From.Size += To.Size; + From.Weight = SaturatingAdd(From.Weight, To.Weight); + // Collect all edges from or to the removed node and update them for the new + // node. + std::vector<Edge> OldEdges; + // FIXME: n^2 + for (auto EI = Edges.begin(), EE = Edges.end(); EI != EE;) { + if (EI->From == MaxE.To || EI->To == MaxE.To) { + OldEdges.push_back(*EI); + EI = Edges.erase(EI); + } else + ++EI; + } + for (const Edge E : OldEdges) { + Inser...
2017 Jun 15
7
[RFC] Profile guided section layout
...Sections.begin(), + To.Sections.end()); + To.Sections.clear(); + From.Size += To.Size; + From.Weight = SaturatingAdd(From.Weight, To.Weight); + // Collect all edges from or to the removed node and update them for the new + // node. + std::vector<Edge> OldEdges; + // FIXME: n^2 + for (auto EI = Edges.begin(), EE = Edges.end(); EI != EE;) { + if (EI->From == MaxE.To || EI->To == MaxE.To) { + OldEdges.push_back(*EI); + EI = Edges.erase(EI); + } else + ++EI; + } + for (const Edge E : OldEdges) { + Inser...
2017 Aug 01
2
[RFC] Profile guided section layout
...Sections.begin(), + To.Sections.end()); + To.Sections.clear(); + From.Size += To.Size; + From.Weight = SaturatingAdd(From.Weight, To.Weight); + // Collect all edges from or to the removed node and update them for the new + // node. + std::vector<Edge> OldEdges; + // FIXME: n^2 + for (auto EI = Edges.begin(), EE = Edges.end(); EI != EE;) { + if (EI->From == MaxE.To || EI->To == MaxE.To) { + OldEdges.push_back(*EI); + EI = Edges.erase(EI); + } else + ++EI; + } + for (const Edge E : OldEdges) { + Inser...