Matthew Barr
f9ded59361
Disable strict aliasing
...
Strict aliasing allows to compiler to make some optimisations, but they aren't
without risk. The benefits do not appear to be worth the risk.
2016-07-08 10:59:40 +10:00
Kirill Rybalchenko
9d2403e8bb
limex: implement variable shift NFA engines
...
Replaces the old LimEx NFA engines, which were specialised for model
size and number of shifts, with a new set of engines that can handle a
variable number of shifts.
2016-07-08 10:57:29 +10:00
Justin Viiret
cf8e8c90ff
eod: move stream eod code to stream.c
2016-07-08 10:55:36 +10:00
Matthew Barr
c7212a7478
Only omit frame pointers on 32bit release builds
...
Frame pointers are very useful for debugging and testing, and only
really make a difference to performance on IA32.
2016-07-08 10:50:08 +10:00
Justin Viiret
c2496fbf76
rose: elide SET_GROUPS when possible
2016-07-08 10:47:07 +10:00
Matthew Barr
212ed92ac5
Bump version number for release
2016-06-01 11:04:43 +10:00
Matthew Barr
89bc2b4b39
cmake: invoke the compiler to test arch features
...
We require SSSE3, and optionally support AVX2, and the best way of testing
the compiler and compile flags is to run the compiler.
2016-05-24 11:26:38 +10:00
Matthew Barr
e52783017e
pkgconfig: Add Libs.private for static linking
2016-05-24 11:26:06 +10:00
Matthew Barr
74d5d0e819
cmake: fix optimise define
2016-05-24 11:26:03 +10:00
Boris Nagaev
ba77229c02
install .dll to bin/, not to lib/
2016-05-22 15:56:49 +03:00
Mohammad Abdul Awal
ed772380c0
teddy: remove python codegen, refactor code
...
Major cleanup of the Teddy runtime code. Removes python code generation,
splits AVX2 models into their own file, improves readability.
2016-05-18 16:28:11 +10:00
Mohammad Abdul Awal
598f0565cf
fdr: Remove python codegen, add safezones
2016-05-18 16:22:52 +10:00
Alex Coyte
e86688e313
add m128 byte shift functions
...
variable_byte_shift_m128 taken from pug-interpreter branch
2016-05-18 16:22:44 +10:00
Justin Viiret
1f41a921f2
mcclellan, gough: native report remapping
2016-05-18 16:20:45 +10:00
Justin Viiret
611579511c
rose: remap reports to program offsets
2016-05-18 16:20:42 +10:00
Justin Viiret
36150bbc19
Rose: replace internal_report with program
...
Replace the use of the internal_report structure (for reports from
engines, MPV etc) with the Rose program interpreter.
SOM processing was reworked to use a new som_operation structure that is
embedded in the appropriate instructions.
2016-04-20 13:34:57 +10:00
Alex Coyte
ff721ed8e4
unify some accel code/structures between limex and mcclellan
2016-04-20 13:34:56 +10:00
Alex Coyte
f53c093baa
simple offset accel for mcclellan start state
2016-04-20 13:34:56 +10:00
Justin Viiret
b093616aff
Rose build: move HWLM build code to own file
...
To reduce the size of rose_build_bytecode.cpp a little, move the code
that deals with HWLM literal tables into its own new file.
2016-04-20 13:34:54 +10:00
Matthew Barr
78b780c550
Don't enable -Werror for release builds
...
Using -Werror is a very good thing during development, but it has the
potential to break the user's build, for example, if they are using a slightly
different compiler combination to one that has been tested previously.
2016-03-01 11:42:49 +11:00
Matthew Barr
82438a567f
Fix typo
2016-03-01 11:42:49 +11:00
Matthew Barr
5537f9da78
Install pkgconfig file everywhere but Windows
2016-03-01 11:42:49 +11:00
Justin Viiret
060defe6c4
Rose: move more report handling work into program
...
Move report preconditions (bounds, exhaustion, etc) into program
instructions and use a more direct path to the user match callback than
the adaptor functions.
Report handling has been moved to new file src/report.h. Reporting from
EOD now uses the same instructions as normal report handling, rather
than its own.
Jump target tracking in rose_build_bytecode.cpp has been cleaned up.
2016-03-01 11:32:01 +11:00
Anatoly Burakov
87424713a7
Multibyte acceleration compile side
2016-03-01 11:21:39 +11:00
Anatoly Burakov
081b3ef369
Multibyte truffle runtime
2016-03-01 11:21:39 +11:00
Anatoly Burakov
47b17ade27
Multibyte shufti runtime
2016-03-01 11:21:39 +11:00
Anatoly Burakov
dd2ec6bdac
Multibyte vermicelli runtime
2016-03-01 11:21:39 +11:00
Anatoly Burakov
77ff826bbf
Adding bitmatchers
2016-03-01 11:21:39 +11:00
Matthew Barr
b460f47476
Build the tools dir only if the cmake file exists
2016-03-01 11:19:32 +11:00
Justin Viiret
b2ebdac642
rose: Extend program to handle literals, iterators
...
- cleanups
- add sparse iter instructions
- merge "root" and "sparse iter" programs together
- move program execution to new file program_runtime.h
- simplify EOD execution
2016-03-01 11:17:31 +11:00
Justin Viiret
9cb2233589
rose: Use an interpreter for role runtime
...
Replace much of the RoseRole structure with an interpreted program,
simplifying the Rose runtime and making it much more flexible.
2016-03-01 11:16:02 +11:00
Alex Coyte
a7d8dafb71
detach the sidecar
2016-03-01 11:13:23 +11:00
Alex Coyte
5e0d10d805
Allow lag on castle infixes to be reduced
...
Reducing lag allows for castles to be merged more effectively
2016-03-01 11:10:13 +11:00
Matthew Barr
a5944067d4
Bump version number
2015-12-18 14:37:29 +11:00
Matthew Barr
f65170da5b
cmake: improve build paths for nested builds
...
If Hyperscan is built as a subproject of another cmake project, it helps to
refer to PROJECT_xx_DIR instead of CMAKE_xx_DIR, etc.
2015-11-10 14:36:39 +11:00
Matthew Barr
91343b00e9
Bump version number
2015-10-30 11:28:38 +11:00
Matthew Barr
ba0b2b788b
cmake: collection of fixes
2015-10-30 11:28:38 +11:00
Matthew Barr
b77613802d
Update CMake required min version to 2.8.11
...
RedHat/CentOS 7 ship with 2.8.11 so this is a sane minimum.
2015-10-30 11:28:37 +11:00
Matthew Barr
904e436f11
Initial commit of Hyperscan
2015-10-20 09:13:35 +11:00