Alex Coyte
d6c050abd6
maintain castle report information
2017-09-18 13:29:34 +10:00
Alex Coyte
47e64646b4
move mergeDupeLeaves() and uncalcLeaves() to rose_build_role_aliasing
...
Unlike the rest of rose_build_mergem, these functions relate to merging
roles/vertices rather than merging engines.
2017-09-18 13:22:56 +10:00
Justin Viiret
4889a492e4
rose: more hash member funcs for rose types
2017-08-21 11:24:52 +10:00
Justin Viiret
9cf66b6ac9
util: switch from Boost to std::unordered set/map
...
This commit replaces the ue2::unordered_{set,map} types with their STL
versions, with some new hashing utilities in util/hash.h. The new types
ue2_unordered_set<T> and ue2_unordered_map<Key, T> default to using the
ue2_hasher.
The header util/ue2_containers.h has been removed, and the flat_set/map
containers moved to util/flat_containers.h.
2017-08-21 11:14:55 +10:00
Justin Viiret
8b9328fe9e
rose: replace RoseLiteralMap use of bimap
...
This apoproach is simpler and more efficient for cases with large
numbers of literals.
2017-05-30 13:58:59 +10:00
Matthew Barr
c50a931bb4
Use std::move explicitly to avoid ambiguity with boost
2017-04-26 15:16:03 +10:00
Justin Viiret
5706acf5c0
role aliasing: bail if new graph is not implementable
2017-04-26 14:46:46 +10:00
Justin Viiret
988ea6b4e1
rose: role aliasing improvements
...
These changes improve the performance of the role aliasing passes on
very large cases and fix a couple of small errors in the left and right
merge passes as well.
2017-04-26 14:41:30 +10:00
Alex Coyte
530d84c6f3
allow edge_descriptors to be created from pair<edge_descriptor, bool>
2016-12-02 11:32:20 +11:00
Alex Coyte
e1e9010cac
Introduce custom adjacency-list based graph
2016-12-02 11:31:33 +11:00
Alex Coyte
445cf987a8
remove unused includes
2016-10-28 14:52:56 +11:00
Alex Coyte
648a3c4824
UE-3025: There is no need to prune tops from non-triggered graphs
2016-10-28 14:52:01 +11:00
Alex Coyte
c94899dd44
allow sets of tops on edges
2016-10-28 14:51:46 +11:00
Matthew Barr
707fe675ea
Operator precedence matters
2016-10-28 14:48:46 +11:00
Justin Viiret
ae14187462
rose: use min of max_offset in left merges
...
Be more careful with max_offset, since we rely on it ofr ANCH history
cases. Also adds tighter assertions.
2016-08-10 15:12:12 +10:00
Alex Coyte
cded5552c2
rose: don't leave stray reports when copying the subgraph leading to a report
2016-08-10 15:09:27 +10:00
Justin Viiret
e9cfbae68f
workaround for freebsd/clang/libc++ build issues
...
Rather than relying on set's constructor from {}, explicitly construct
the set.
2016-07-08 11:07:51 +10:00
Justin Viiret
1c2b0a271d
role aliasing: tidy up naming
2016-07-08 10:59:40 +10:00
Justin Viiret
1d18852dc9
role aliasing: unify map update code
2016-07-08 10:59:40 +10:00
Justin Viiret
679042779a
role aliasing: use a reverse ghost map
2016-07-08 10:59:40 +10:00
Justin Viiret
1e5fcd5e80
tighten ghost vertex checks
2016-07-08 10:59:40 +10:00
Justin Viiret
0749f7c06d
rose: allow ghosts to be aliased
2016-07-08 10:59:40 +10:00
Alex Coyte
b097cb1b53
use the correct way to refer to void *
2016-07-08 10:45:06 +10:00
Justin Viiret
31dea6c275
Rose: allow direct reports to be aliased
2016-03-01 11:36:09 +11:00
Alex Coyte
a7d8dafb71
detach the sidecar
2016-03-01 11:13:23 +11:00
Justin Viiret
748d46c124
CastleProto: track next top explicitly
...
Repeats may be removed (e.g. by pruning in role aliasing passes)
leaving "holes" in the top map. Track the next top to use explicitly,
rather than using repeats.size().
2015-12-07 09:38:32 +11:00
Justin Viiret
1267922ca7
role aliasing: simplify hashRightRoleProperties
...
Using the full report set for a suffix as an input to this hash was very
slow at scale.
2015-12-07 09:38:32 +11:00
Matthew Barr
904e436f11
Initial commit of Hyperscan
2015-10-20 09:13:35 +11:00