Justin Viiret
06bafae81d
fdr_confirm: clean up use of flags
2017-08-21 10:39:00 +10:00
Justin Viiret
c878d5ec66
fdr: further tidy up layout
2017-08-21 10:39:00 +10:00
Justin Viiret
549062ec2b
fdr_confirm: start FDRConfirm structs at cacheline
2017-08-21 10:38:59 +10:00
Justin Viiret
4f32a167d5
teddy: align major structures to cachelines
2017-08-21 10:38:59 +10:00
Justin Viiret
9bdd370163
fdr: align major structures to cachelines
2017-08-21 10:38:59 +10:00
Justin Viiret
c36c071564
fdr_confirm: remove dead flags
...
- Caseless was unused
- NoFlags is a bit redundant
2017-08-21 10:38:59 +10:00
Justin Viiret
e8c0b5685f
fdr_confirm: remove complex confirm
2017-08-21 10:38:59 +10:00
Matthew Barr
345897f096
cpuid: exclude AVX512 flag when target not enabled
...
If we have a fat runtime build without AVX512 enabled, we should not
pick up the AVX512 flag from cpuid.
2017-07-26 15:51:23 +10:00
Alex Coyte
d317d75615
character classes: handle \Q\E and utf8
2017-06-21 08:43:44 +10:00
Alex Coyte
a185be5a4f
Treat characters between \Q \E as codepoints in UTF8 mode.
...
fixes github issue #57
2017-06-21 08:43:44 +10:00
Justin Viiret
dedfc34515
fdr_confirm_compile: fix bug in table sizing
2017-06-15 15:41:30 +10:00
Justin Viiret
09f5699df7
flat_set/map: workaround for gcc-4.8 C++11 defect
...
The STL shipped with gcc-4.8 does not provide
vector::erase(const_iterator) for C++11, instead only taking a mutable
iterator. This causes problems with flat_set/map if we don't have
Boost small_vector available and we fall back to std::vector.
We work around this by providing a function to construct a mutable
iterator given a const_iterator for internal use.
2017-06-13 13:52:33 +10:00
Justin Viiret
9aee3b22b5
ng_expr_info: more complete analysis passes
2017-06-09 10:12:03 +10:00
Justin Viiret
c4e2459318
hs_compile: add note to hs_expression_info() docs
...
Successful analysis of a pattern with hs_expression_info() does not
imply that the pattern will successfully compile with hs_compile(), etc.
It is merely a utility function for pattern analysis.
Addresses Github issue #54 .
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
Justin Viiret
cfdac66404
accel: limit how far we will search in findBest
2017-05-30 14:00:45 +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
0275869b3e
Use our intrin header
2017-05-30 14:00:35 +10:00
Justin Viiret
4976f019f4
rose_build_engine_blob: rose unused data() func
...
We should no longer be reading out of the engine blob.
2017-05-30 14:00:12 +10:00
Matthew Barr
221229f71c
gcc7: comments for falling through a switch case
...
GCC 7 adds a warning -Wimplicit-fallthrough to catch when falling
through a switch statement without a break. Since we actually want that
behaviour sometimes, we can add a comment so the compiler knows we
intended the fallthrough.
2017-05-30 13:59:48 +10:00
Matthew Barr
f6b688fc06
rename pshufb to pshufb_m128
2017-05-30 13:59:23 +10:00
Matthew Barr
a295c96198
rename vpshufb to pshufb_m256
2017-05-30 13:59:23 +10:00
Matthew Barr
eabe408e2b
avx512: shufti
2017-05-30 13:59:23 +10:00
Matthew Barr
194c201fc7
avx512: truffle
2017-05-30 13:59:23 +10:00
Matthew Barr
1089fa5018
avx512: noodle
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
91db20d8eb
avx512: CPU detection and platform hints
2017-05-30 13:59:23 +10:00
Matthew Barr
8a56d16d57
avx512: add basic functions to simd_utils
...
Extends the m512 type to use avx512 and also changes required
for limex.
2017-05-30 13:59:18 +10:00
Matthew Barr
fedd48489f
Allow the full cpuid flags for fat runtimes
2017-05-30 13:59:00 +10:00
Matthew Barr
9acda484fe
debug: use before set
2017-05-30 13:59:00 +10:00
Matthew Barr
423569ec82
De-multiaccel
2017-05-30 13:59:00 +10:00
Alex Coyte
2b1a7da188
deterministic assembleProgramBlocks()
2017-05-30 13:59:00 +10:00
Matthew Barr
c510b85bf1
whitespace changes
2017-05-30 13:59:00 +10:00
Justin Viiret
923e602601
ng_equivalence: use flat_set for VertexInfoSet
2017-05-30 13:59:00 +10:00
Justin Viiret
4a417c42e5
smallwrite: remove unnecessary assertion
...
The alpha remap array is always big enough to remap characters. Silences
Coverity issue CID 167663.
2017-05-30 13:59:00 +10:00
Alex Coyte
29ad557b9c
smwr: more aggressive pruning of overlong paths in NFA
2017-05-30 13:59:00 +10:00
Alex Coyte
725de51f89
determinisation: cleanups, remove shrinkStateSet
2017-05-30 13:59:00 +10:00
Justin Viiret
c17085ba35
ng_depth: modernize findLoopReachable
2017-05-30 13:59:00 +10:00
Justin Viiret
dfe1b8a2af
ng_depth: rename calcDepth functions, return vec
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
Justin Viiret
1a04d1330e
verify_types: add type static assertions
2017-05-30 13:59:00 +10:00
Justin Viiret
16a00074c6
verify_types: throw on failure
...
In release builds, we would like a verify_u32 (etc) failure to be more
than just an assertion.
2017-05-30 13:58:59 +10:00
Alex Coyte
097d73c7ff
pass roleStateIndices by reference
2017-05-30 13:58:59 +10:00
Alex Coyte
b30e5021f1
Strengthen assert to indicate that q->end is less than q->cur
...
Coverity CID-167665
2017-05-30 13:58:59 +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
Justin Viiret
a75b2ba2e5
rose: remove hasLiteral()
2017-05-30 13:58:59 +10:00
Justin Viiret
8a7ac432c0
ue2_literal: add hash_value()
2017-05-30 13:58:59 +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