search for: insertorincrementedg

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

Did you mean: insertorincrementedge
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
...return From == Other.From && To == Other.To; + } + }; + + struct EdgeHash { + std::size_t operator()(const Edge E) const { + return llvm::hash_combine(E.From, E.To); + }; + }; + + std::vector<Node> Nodes; + std::unordered_set<Edge, EdgeHash> Edges; + + auto InsertOrIncrementEdge = [](std::unordered_set<Edge, EdgeHash> &Edges, + const Edge E) { + if (E.From == E.To) + return; + auto Res = Edges.insert(E); + if (!Res.second) + Res.first->Weight = SaturatingAdd(Res.first->Weight, E.Weight); + }; + + { +...
2017 Jun 15
7
[RFC] Profile guided section layout
...return From == Other.From && To == Other.To; + } + }; + + struct EdgeHash { + std::size_t operator()(const Edge E) const { + return llvm::hash_combine(E.From, E.To); + }; + }; + + std::vector<Node> Nodes; + std::unordered_set<Edge, EdgeHash> Edges; + + auto InsertOrIncrementEdge = [](std::unordered_set<Edge, EdgeHash> &Edges, + const Edge E) { + if (E.From == E.To) + return; + auto Res = Edges.insert(E); + if (!Res.second) + Res.first->Weight = SaturatingAdd(Res.first->Weight, E.Weight); + }; + + { +...
2017 Aug 01
2
[RFC] Profile guided section layout
...return From == Other.From && To == Other.To; + } + }; + + struct EdgeHash { + std::size_t operator()(const Edge E) const { + return llvm::hash_combine(E.From, E.To); + }; + }; + + std::vector<Node> Nodes; + std::unordered_set<Edge, EdgeHash> Edges; + + auto InsertOrIncrementEdge = [](std::unordered_set<Edge, EdgeHash> &Edges, + const Edge E) { + if (E.From == E.To) + return; + auto Res = Edges.insert(E); + if (!Res.second) + Res.first->Weight = SaturatingAdd(Res.first->Weight, E.Weight); + }; + + { +...