1290 Commits

Author SHA1 Message Date
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
055ff7391c cmake: build shared libs with the PIC objs 2017-05-30 13:59:23 +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
85358e0ad0 hsbench: output max throughput result 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
a2dc430a38 Header guards 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
e12298568e hsbench: use boost:crc for db filename 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
Justin Viiret
9258592d0b report_manager: more use of unordered_map 2017-05-30 13:58:32 +10:00
Justin Viiret
1878b9a857 report_manager: use unordered externalIdMap 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
Alex Coyte
f74f475189 rose_program: merge RECORD_ANCHORED instruction into ANCHORED_DELAY 2017-05-30 13:58:32 +10:00
Alex Coyte
e24c38a85c rose: minor improvements to avoid unneeded program instructions
- strip out lonely check handled instructions
- avoid producing programs for empty ghost roles
2017-05-30 13:58:32 +10:00
Alex Coyte
88fd95e38a rose: minor clean up of catchup
- anchored dfa do not mean that catchup is required
- remove needsCatchup from rose bytecode as catchup is based on interpreter
2017-05-30 13:58:32 +10:00
Alex Coyte
a810bac8f7 be more selective about generating CLEAR_WORK_DONE instructions 2017-05-30 13:58:32 +10:00
Alex Coyte
cd424bdb45 minor clean up of rose_build_bytecode.cpp
- consistently name functions creating programs as makeFoo()
- replace writeLiteralProgram() with makeFragmentProgram()
- make applyFinalSpecialisation() part of writeProgram(bc, prog)
- seperate users who want to make a program for a single literal and fragments
2017-05-30 13:58:04 +10:00
Matthew Barr
0626a30a6a Make the build wrapper less fragile
This script was failing for certain paths (dots, whitespace), and using
sed to replace parts of the command line was overkill. Do less mangling,
and quote command line args.

Fixes 01org/hyperscan#51
2017-05-30 13:57:32 +10:00
Justin Viiret
d809e73d45 smallwrite: cope when everything has been pruned 2017-05-30 13:57:32 +10:00
Justin Viiret
c6f5275acc mcclellancompile: docs for main compile function 2017-05-30 13:57:32 +10:00
Justin Viiret
42fca877a7 smallwrite: prune trie when rose is high quality 2017-05-30 13:57:32 +10:00
Justin Viiret
388c16c550 smallwrite: construct DFA states in BFS order 2017-05-30 13:57:32 +10:00
Justin Viiret
10f52346ca smallwrite: bfs ordering, refine daddy selection 2017-05-30 13:57:32 +10:00
Justin Viiret
3b3f6b739c smallwrite: use failure map to set dfa daddy state 2017-05-30 13:57:32 +10:00
Justin Viiret
beac58fcb4 dfa: allow smwr to avoid lengthy daddy recalc 2017-05-30 13:57:32 +10:00