mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
knownConditionTrueFalse
This commit is contained in:
parent
27bb2b9134
commit
ea420114a7
@ -48,6 +48,7 @@ hs_error_t HS_CDECL hs_valid_platform(void) {
|
|||||||
return HS_ARCH_ERROR;
|
return HS_ARCH_ERROR;
|
||||||
}
|
}
|
||||||
#elif !defined(VS_SIMDE_BACKEND) && (defined(ARCH_ARM32) || defined(ARCH_AARCH64))
|
#elif !defined(VS_SIMDE_BACKEND) && (defined(ARCH_ARM32) || defined(ARCH_AARCH64))
|
||||||
|
//check_neon returns true for now
|
||||||
if (check_neon()) {
|
if (check_neon()) {
|
||||||
return HS_SUCCESS;
|
return HS_SUCCESS;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1481,6 +1481,7 @@ u32 buildExceptionMap(const build_info &args, ReportListCache &reports_cache,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
u32 j = args.state_ids.at(w);
|
u32 j = args.state_ids.at(w);
|
||||||
|
// j can be NO_STATE if args.state_ids.at(w) returns NO_STATE
|
||||||
if (j == NO_STATE) {
|
if (j == NO_STATE) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1718,9 +1718,8 @@ bool setDistinctTops(NGHolder &h1, const NGHolder &h2,
|
|||||||
bool setDistinctRoseTops(RoseGraph &g, NGHolder &h1, const NGHolder &h2,
|
bool setDistinctRoseTops(RoseGraph &g, NGHolder &h1, const NGHolder &h2,
|
||||||
const deque<RoseVertex> &verts1) {
|
const deque<RoseVertex> &verts1) {
|
||||||
map<u32, u32> top_mapping;
|
map<u32, u32> top_mapping;
|
||||||
if (!setDistinctTops(h1, h2, top_mapping)) {
|
|
||||||
return false;
|
setDistinctTops(h1, h2, top_mapping);
|
||||||
}
|
|
||||||
|
|
||||||
if (top_mapping.empty()) {
|
if (top_mapping.empty()) {
|
||||||
return true; // No remapping necessary.
|
return true; // No remapping necessary.
|
||||||
@ -1748,9 +1747,7 @@ static
|
|||||||
bool setDistinctSuffixTops(RoseGraph &g, NGHolder &h1, const NGHolder &h2,
|
bool setDistinctSuffixTops(RoseGraph &g, NGHolder &h1, const NGHolder &h2,
|
||||||
const deque<RoseVertex> &verts1) {
|
const deque<RoseVertex> &verts1) {
|
||||||
map<u32, u32> top_mapping;
|
map<u32, u32> top_mapping;
|
||||||
if (!setDistinctTops(h1, h2, top_mapping)) {
|
setDistinctTops(h1, h2, top_mapping);
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (top_mapping.empty()) {
|
if (top_mapping.empty()) {
|
||||||
return true; // No remapping necessary.
|
return true; // No remapping necessary.
|
||||||
@ -1837,10 +1834,7 @@ void mergeNfaLeftfixes(RoseBuildImpl &tbi, LeftfixBouquet &roses) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!setDistinctRoseTops(g, victim, *r1.graph(), verts2)) {
|
setDistinctRoseTops(g, victim, *r1.graph(), verts2);
|
||||||
DEBUG_PRINTF("can't set distinct tops\n");
|
|
||||||
continue; // next h2
|
|
||||||
}
|
|
||||||
|
|
||||||
assert(victim.kind == r1.graph()->kind);
|
assert(victim.kind == r1.graph()->kind);
|
||||||
assert(!generates_callbacks(*r1.graph()));
|
assert(!generates_callbacks(*r1.graph()));
|
||||||
@ -2120,10 +2114,7 @@ void mergeSuffixes(RoseBuildImpl &tbi, SuffixBouquet &suffixes,
|
|||||||
old_tops[v] = g[v].suffix.top;
|
old_tops[v] = g[v].suffix.top;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!setDistinctSuffixTops(g, victim, *s1.graph(), verts2)) {
|
setDistinctSuffixTops(g, victim, *s1.graph(), verts2);
|
||||||
DEBUG_PRINTF("can't set distinct tops\n");
|
|
||||||
continue; // next h2
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!mergeNfaPair(victim, *s1.graph(), &tbi.rm, tbi.cc)) {
|
if (!mergeNfaPair(victim, *s1.graph(), &tbi.rm, tbi.cc)) {
|
||||||
DEBUG_PRINTF("merge failed\n");
|
DEBUG_PRINTF("merge failed\n");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user