Alex Coyte
e099d85524
CMake: put the stream compress files in the correct part
2017-08-21 11:19:11 +10:00
Hong, Yang A
205a5bc98f
multibit compression support
2017-08-21 11:19:11 +10:00
Alex Coyte
952f0aad21
support dynamic stream compression
2017-08-21 11:18:54 +10:00
Matthew Barr
2a044427c8
cmake: another convenience lib for compile side
2017-08-21 11:18:43 +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
21a4c8d4e2
rdfa: move raw_dfa member functions to rdfa.cpp
2017-08-21 11:12:26 +10:00
Justin Viiret
0d1e441629
cmake: add graph_range.h
2017-08-21 11:12:26 +10:00
Justin Viiret
a1ff4d3293
small_color_map: add efficient 2-bit color map
2017-08-21 11:12:26 +10:00
Matthew Barr
44e45f727e
Bump version number for release
2017-07-26 15:51:23 +10:00
Matthew Barr
2b788f1234
Bump version number for release
2017-06-16 10:07:40 +10:00
Matthew Barr
87469d4775
Bump version number for release
2017-06-09 10:12:03 +10:00
Matthew Barr
dba2470ec9
msvc: use the vectorcall calling convention
...
This requires declaring external interfaces with the cdecl
calling convention.
2017-06-09 10:12:02 +10:00
Matthew Barr
73765f1f84
cmake: Improve the microarch checks
2017-06-09 10:12:02 +10:00
Matthew Barr
3e345c2567
If we can shift by an immediate, do it. Otherwise, don't.
2017-05-30 14:00:45 +10:00
Matthew Barr
055ff7391c
cmake: build shared libs with the PIC objs
2017-05-30 13:59:23 +10:00
Matthew Barr
ec7869711f
avx512 fat runtime support: experimental
2017-05-30 13:59:23 +10:00
Matthew Barr
423569ec82
De-multiaccel
2017-05-30 13:59:00 +10:00
Alex Coyte
15c8a7bd98
rose: rework storage of extra lookaround information
...
- remove explicit lookaround table from bytecode
- make the RoseInstr responsible for adding required info to blob
2017-05-30 13:59:00 +10:00
Alex Coyte
bb29aeb298
rose: shift program construction functions to rose_build_program
2017-05-30 13:58:32 +10:00
Justin Viiret
82838f5728
rose_build: move dedupe analysis into own file
2017-05-30 13:58:32 +10:00
Alex Coyte
1287b70f4b
split out instruction details to own files
2017-05-30 13:58:32 +10:00
Matthew Barr
b1c57f9f54
cmake: check for libc++ directly
...
Rather than trying to infer libc++ use from platform and compiler, just
look for a defined symbol.
2017-04-26 15:19:52 +10:00
Justin Viiret
1ef87c43ee
noncopyable: switch over from boost
2017-04-26 15:18:26 +10:00
Justin Viiret
a61b92f8d1
operators: add simple ue2::totally_ordered class
2017-04-26 15:18:26 +10:00
Justin Viiret
5dfae12a62
ng: split NGWrapper into NGHolder, ExpressionInfo
...
We now use NGHolder for all graph information, while other expression
properties (report, flag information, etc) go in new class
ExpressionInfo.
2017-04-26 15:18:09 +10:00
Matthew Barr
ce50ff6119
Use GNUInstallDirs for install paths
2017-04-26 15:17:19 +10:00
Matthew Barr
5daa191313
cmake: simplify g++ version check
2017-04-26 15:17:19 +10:00
Matthew Barr
11aac07855
cmake: override gcc's tuning guess
2017-04-26 15:17:19 +10:00
Matthew Barr
b68e4ea336
cmake: move boost tests
2017-04-26 15:17:19 +10:00
Matthew Barr
287f519205
cmake: look for Boost in-tree first
...
During development we tend to use a symlink to the most recent version of
Boost from the Hyperscan source tree, so look there first.
Also, unset some cached results so we recheck when the Boost version changes.
2017-04-26 15:17:19 +10:00
Justin Viiret
187a4b82c2
small_vector: add header to handle older Boost
...
This provides ue2::small_vector<T, N, Alloc> which will fall back to
std::vector<T, Alloc> where the Boost version is too old or not present.
2017-04-26 15:17:11 +10:00
Matthew Barr
79308e6791
cmake: don't build static libs if we don't have to
2017-04-26 15:17:03 +10:00
Anatoly Burakov
2de6706df2
Adding support for compiling approximate matching patterns
...
Adds new "edit_distance" extparam
2017-04-26 15:11:39 +10:00
Alex Coyte
fddcdbb129
determinisation: use unordered_map to hold state set -> id mapping
2017-04-26 14:59:22 +10:00
Matthew Barr
9363ae7486
Clear upper half of AVX register before libm call
...
Clearing the upper half of the AVX register is required before calling SSE
code to avoid AVX-to-SSE transition penalties.
2017-04-26 14:59:22 +10:00
Justin Viiret
1875d55cf1
parser: add initial parser for control verbs
...
This more reliably handles control verbs like (*UTF8) that can only
happen at the start of the pattern, and allows them in any ordering.
2017-04-26 14:57:46 +10:00
Justin Viiret
c6bf1919d0
rose: merge all dump code into rose_build_dump.cpp
2017-04-26 14:49:35 +10:00
Alex Coyte
c32d7d51d9
remove ng_rose
2017-04-26 14:44:49 +10:00
Justin Viiret
2fda8c0b20
hwlm: move accel from hwlm build to rose
2017-04-26 14:41:29 +10:00
Matthew Barr
f7d3ccc7e5
Bump version number for release
2017-03-01 13:05:44 +11:00
Matthew Barr
53a8d97e77
Bump version number for release
2017-01-20 14:15:53 +11:00
Matthew Barr
8c2e033540
cmake: test reverse_graph instead of using version
...
It seems that some distros are using a patched Boost 1.62.0 which means our
workaround in reverse_graph has a conflict. Add a CMake test to see if we
need to use the patched reverse_graph.
2017-01-20 09:26:34 +11:00
Matthew Barr
e23316f453
Boost 1.61 required for clang/libc++
...
The libc++ headers aren't specific enough and causes the compiler to think
there are ambiguous functions when using older Boost versions.
2017-01-17 11:38:31 +11:00
Matthew Barr
1c9f38e98d
Silence ABI notes in release builds
2017-01-17 11:38:16 +11:00
Matthew Barr
2f57681bb6
cmake: check the generator for fat runtime builds
...
The RULE_LAUNCH_COMPILE property only works for Unix Makefiles, or
for Ninja with CMake newer than v3.0.
2016-12-14 15:35:44 +11:00
Matthew Barr
0d87116d33
cmake: check clang version for fat runtime support
2016-12-14 15:35:44 +11:00
Matthew Barr
f29b203a86
cmake: combine hs_exec src lists correctly
2016-12-14 15:35:28 +11:00
Matthew Barr
1ed2bdc46f
Don't set flags for common files
2016-12-14 15:35:22 +11:00
Matthew Barr
c337ac665b
cmake: default to fat runtime for release builds
2016-12-14 15:35:19 +11:00
Matthew Barr
6967c7ddf1
cmake: unneeded header check
2016-12-14 15:35:16 +11:00