mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
use the correct way to refer to void *
This commit is contained in:
parent
afd378b09e
commit
b097cb1b53
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, Intel Corporation
|
* Copyright (c) 2015-2016, Intel Corporation
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
@ -219,8 +219,8 @@ vector<NFAEdge> findShellEdges(const NGHolder &g,
|
|||||||
|
|
||||||
static
|
static
|
||||||
void removeVertices(const flat_set<NFAVertex> &verts, NFAUndirectedGraph &ug,
|
void removeVertices(const flat_set<NFAVertex> &verts, NFAUndirectedGraph &ug,
|
||||||
ue2::unordered_map<NFAVertex, NFAUndirectedVertex> &old2new,
|
ue2::unordered_map<NFAVertex, NFAUndirectedVertex> &old2new,
|
||||||
ue2::unordered_map<NFAVertex, NFAUndirectedVertex> &new2old) {
|
ue2::unordered_map<NFAUndirectedVertex, NFAVertex> &new2old) {
|
||||||
for (auto v : verts) {
|
for (auto v : verts) {
|
||||||
assert(contains(old2new, v));
|
assert(contains(old2new, v));
|
||||||
auto uv = old2new.at(v);
|
auto uv = old2new.at(v);
|
||||||
@ -280,7 +280,7 @@ void splitIntoComponents(const NGHolder &g, deque<unique_ptr<NGHolder>> &comps,
|
|||||||
createUnGraph(g.g, true, true, ug, old2new, newIdx2old);
|
createUnGraph(g.g, true, true, ug, old2new, newIdx2old);
|
||||||
|
|
||||||
// Construct reverse mapping.
|
// Construct reverse mapping.
|
||||||
ue2::unordered_map<NFAVertex, NFAUndirectedVertex> new2old;
|
ue2::unordered_map<NFAUndirectedVertex, NFAVertex> new2old;
|
||||||
for (const auto &m : old2new) {
|
for (const auto &m : old2new) {
|
||||||
new2old.emplace(m.second, m.first);
|
new2old.emplace(m.second, m.first);
|
||||||
}
|
}
|
||||||
@ -308,7 +308,7 @@ void splitIntoComponents(const NGHolder &g, deque<unique_ptr<NGHolder>> &comps,
|
|||||||
|
|
||||||
// Collect vertex lists per component.
|
// Collect vertex lists per component.
|
||||||
for (const auto &m : split_components) {
|
for (const auto &m : split_components) {
|
||||||
NFAVertex uv = m.first;
|
NFAUndirectedVertex uv = m.first;
|
||||||
u32 c = m.second;
|
u32 c = m.second;
|
||||||
assert(contains(new2old, uv));
|
assert(contains(new2old, uv));
|
||||||
NFAVertex v = new2old.at(uv);
|
NFAVertex v = new2old.at(uv);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, Intel Corporation
|
* Copyright (c) 2015-2016, Intel Corporation
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
@ -2245,7 +2245,7 @@ bool improveLHS(RoseInGraph &ig, const vector<RoseInEdge> &edges,
|
|||||||
const vector<RoseInEdge> &local = by_src[v];
|
const vector<RoseInEdge> &local = by_src[v];
|
||||||
|
|
||||||
vector<NGHolder *> graphs;
|
vector<NGHolder *> graphs;
|
||||||
map<RoseInVertex, vector<RoseInEdge> > by_graph;
|
map<NGHolder *, vector<RoseInEdge> > by_graph;
|
||||||
for (const auto &e : local) {
|
for (const auto &e : local) {
|
||||||
NGHolder *gp = ig[e].graph.get();
|
NGHolder *gp = ig[e].graph.get();
|
||||||
if (!contains(by_graph, gp)) {
|
if (!contains(by_graph, gp)) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, Intel Corporation
|
* Copyright (c) 2015-2016, Intel Corporation
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
@ -315,7 +315,7 @@ void createVertices(RoseBuildImpl *tbi,
|
|||||||
w = created[key];
|
w = created[key];
|
||||||
}
|
}
|
||||||
|
|
||||||
NFAVertex p = pv.first;
|
RoseVertex p = pv.first;
|
||||||
|
|
||||||
RoseEdge e;
|
RoseEdge e;
|
||||||
bool added;
|
bool added;
|
||||||
@ -943,7 +943,7 @@ void populateRoseGraph(RoseBuildImpl *tbi, RoseBuildData &bd) {
|
|||||||
const vector<RoseVertex> &images = vertex_map[u];
|
const vector<RoseVertex> &images = vertex_map[u];
|
||||||
|
|
||||||
// We should have no dupes.
|
// We should have no dupes.
|
||||||
assert(set<NFAVertex>(images.begin(), images.end()).size()
|
assert(set<RoseVertex>(images.begin(), images.end()).size()
|
||||||
== images.size());
|
== images.size());
|
||||||
|
|
||||||
for (auto v_image : images) {
|
for (auto v_image : images) {
|
||||||
@ -1133,7 +1133,7 @@ u32 maxAvailableDelay(const ue2_literal &pred_key, const ue2_literal &lit_key) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
u32 findMaxSafeDelay(const RoseInGraph &ig, RoseInVertex u, RoseVertex v) {
|
u32 findMaxSafeDelay(const RoseInGraph &ig, RoseInVertex u, RoseInVertex v) {
|
||||||
// First, check the overlap constraints on (u,v).
|
// First, check the overlap constraints on (u,v).
|
||||||
size_t max_delay;
|
size_t max_delay;
|
||||||
if (ig[v].type == RIV_LITERAL) {
|
if (ig[v].type == RIV_LITERAL) {
|
||||||
|
@ -359,7 +359,7 @@ bool isDirectHighlander(const RoseBuildImpl &build, const u32 id,
|
|||||||
|
|
||||||
// Called by isNoRunsLiteral below.
|
// Called by isNoRunsLiteral below.
|
||||||
static
|
static
|
||||||
bool isNoRunsVertex(const RoseBuildImpl &build, NFAVertex u) {
|
bool isNoRunsVertex(const RoseBuildImpl &build, RoseVertex u) {
|
||||||
const RoseGraph &g = build.g;
|
const RoseGraph &g = build.g;
|
||||||
if (!g[u].isBoring()) {
|
if (!g[u].isBoring()) {
|
||||||
DEBUG_PRINTF("u=%zu is not boring\n", g[u].idx);
|
DEBUG_PRINTF("u=%zu is not boring\n", g[u].idx);
|
||||||
|
@ -338,7 +338,7 @@ void findUncalcLeavesCandidates(RoseBuildImpl &tbi,
|
|||||||
deque<UncalcLeafKey> &ordered) {
|
deque<UncalcLeafKey> &ordered) {
|
||||||
const RoseGraph &g = tbi.g;
|
const RoseGraph &g = tbi.g;
|
||||||
|
|
||||||
vector<NFAVertex> suffix_vertices; // vertices with suffix graphs
|
vector<RoseVertex> suffix_vertices; // vertices with suffix graphs
|
||||||
ue2::unordered_map<const NGHolder *, u32> fcount; // ref count per graph
|
ue2::unordered_map<const NGHolder *, u32> fcount; // ref count per graph
|
||||||
|
|
||||||
for (auto v : vertices_range(g)) {
|
for (auto v : vertices_range(g)) {
|
||||||
|
@ -1185,8 +1185,7 @@ bool attemptRoseGraphMerge(RoseBuildImpl &tbi, bool preds_same, RoseVertex a,
|
|||||||
ReportID new_report = tbi.getNewNfaReport();
|
ReportID new_report = tbi.getNewNfaReport();
|
||||||
shared_ptr<NGHolder> new_graph = cloneHolder(*b_h);
|
shared_ptr<NGHolder> new_graph = cloneHolder(*b_h);
|
||||||
duplicateReport(*new_graph, b_left.leftfix_report, new_report);
|
duplicateReport(*new_graph, b_left.leftfix_report, new_report);
|
||||||
pruneReportIfUnused(tbi, new_graph, set<NFAVertex>(),
|
pruneReportIfUnused(tbi, new_graph, {}, b_left.leftfix_report);
|
||||||
b_left.leftfix_report);
|
|
||||||
|
|
||||||
rrm[a_left_id].erase(a);
|
rrm[a_left_id].erase(a);
|
||||||
rrm[b_left_id].erase(b);
|
rrm[b_left_id].erase(b);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user