26 Commits

Author SHA1 Message Date
G.E.
616864334b removed superfluous comments 2024-07-10 14:19:54 +03:00
G.E.
0711123f12 should fix the last failing test in non-fat 2024-07-10 09:54:59 +03:00
G.E.
5a34d8140b should fix it for fat binaries 2024-07-10 03:30:14 +03:00
Konstantinos Margaritis
e819cb1100 Fix C-style casts 2024-05-16 12:03:42 +03:00
Konstantinos Margaritis
68db36f4c4 initial attempt for fat binary on Aarch64 2023-08-23 09:42:00 +00:00
Chang, Harry
c1659b8544 Logical Combination: bypass combination flag in hs_expression_info.
Fixes github issue #291
2022-08-29 15:03:14 +03:00
Chang, Harry
b19a41528a Add cpu feature / target info "AVX512VBMI". 2021-01-25 14:13:13 +02:00
Konstantinos Margaritis
752a42419b fix IA32 build, as we need minimum SSSE3 support for compilation to succeed 2020-12-30 19:57:44 +02:00
Konstantinos Margaritis
d2cf1a7882 move cpuid_flags.h header to common 2020-10-08 20:49:33 +03:00
Konstantinos Margaritis
6a40793719 move cpuid stuff to util/arch/x86 2020-09-17 20:35:39 +03:00
Hong, Yang A
23e5f06594 add new Literal API for pure literal expressions:
Design compile time api hs_compile_lit() and hs_compile_lit_multi()
to handle pure literal pattern sets. Corresponding option --literal-on
is added for hyperscan testing suites. Extended parameters and part of
flags are not supported for this api.
2019-08-13 14:51:38 +08:00
Chang, Harry
8a1c497f44 Logical Combination of patterns. 2018-06-27 14:04:57 +08:00
Matthew Barr
50ea83cb26 Move cpuid checks inline.
During fat runtime function resolution there was a chance that the PLT
might not be initialised in time for us to call the cpuid check
functions. Moving them inline means there is no PLT to worry about.

Fixes #78
2018-01-19 06:32:18 -05:00
Matthew Barr
3b63a95f01 Handle any exceptions while constructing compiler elements
Specifically, NG has a Rose which has a LeftEng which has a depth, which can
throw an error on construction. If we put these in the try-catch we don't
have to worry so much in future.
2017-09-18 13:29:34 +10:00
Matthew Barr
7bcb58dea0 Catch by reference not value 2017-08-21 11:20:20 +10:00
Justin Viiret
9aee3b22b5 ng_expr_info: more complete analysis passes 2017-06-09 10:12:03 +10:00
Justin Viiret
9589ee9f90 hs_expression_info: check unsupported constructs 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
91db20d8eb avx512: CPU detection and platform hints 2017-05-30 13:59:23 +10:00
Justin Viiret
a871f70c25 ng_extparam: split up work and do per-comp reduce
This change breaks extparam processing up into:

 - propagateExtendedParams: propagates min_length, min_offset and
   max_offset into the reports on the graph
 - reduceExtendedParams: runs graph reductions based on extparams

Then, we apply the reduce pass to the whole graph, and later as well to
each component after calc_components.
2017-04-26 15:18:22 +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
Anatoly Burakov
2de6706df2 Adding support for compiling approximate matching patterns
Adds new "edit_distance" extparam
2017-04-26 15:11:39 +10:00
Matthew Barr
c3a73446ee Fat runtime 2016-12-14 15:34:54 +11:00
Alex Coyte
cb7067f59d Prevent trying to build smallwrite engine for large cases 2016-07-08 10:46:46 +10:00
Justin Viiret
12921b7c97 Add hs_expression_ext_info() API function
This is a variant of hs_expression_info() that can also accept extended
parameters.
2016-04-20 13:34:54 +10:00
Matthew Barr
904e436f11 Initial commit of Hyperscan 2015-10-20 09:13:35 +11:00