]>
git.ipfire.org Git - thirdparty/vectorscan.git/log
Matthew Barr [Tue, 27 Sep 2016 06:01:08 +0000 (16:01 +1000)]
avx512: shufti
Matthew Barr [Wed, 14 Sep 2016 06:09:47 +0000 (16:09 +1000)]
avx512: truffle
Matthew Barr [Mon, 8 Aug 2016 00:55:52 +0000 (10:55 +1000)]
avx512: noodle
Matthew Barr [Wed, 14 Dec 2016 00:47:28 +0000 (11:47 +1100)]
avx512 fat runtime support: experimental
Matthew Barr [Tue, 4 Oct 2016 00:18:10 +0000 (11:18 +1100)]
avx512: CPU detection and platform hints
Matthew Barr [Wed, 20 Jul 2016 01:31:34 +0000 (11:31 +1000)]
avx512: add basic functions to simd_utils
Extends the m512 type to use avx512 and also changes required
for limex.
Matthew Barr [Tue, 9 May 2017 01:20:47 +0000 (11:20 +1000)]
Allow the full cpuid flags for fat runtimes
Matthew Barr [Tue, 11 Apr 2017 04:27:59 +0000 (14:27 +1000)]
hsbench: output max throughput result
Matthew Barr [Tue, 28 Mar 2017 00:15:55 +0000 (11:15 +1100)]
debug: use before set
Matthew Barr [Tue, 27 Sep 2016 05:56:40 +0000 (15:56 +1000)]
Header guards
Matthew Barr [Thu, 30 Mar 2017 23:38:03 +0000 (10:38 +1100)]
De-multiaccel
Alex Coyte [Mon, 8 May 2017 00:51:19 +0000 (10:51 +1000)]
deterministic assembleProgramBlocks()
Matthew Barr [Thu, 4 May 2017 00:37:45 +0000 (10:37 +1000)]
hsbench: use boost:crc for db filename
Matthew Barr [Wed, 3 May 2017 04:47:01 +0000 (14:47 +1000)]
whitespace changes
Justin Viiret [Tue, 2 May 2017 01:54:22 +0000 (11:54 +1000)]
ng_equivalence: use flat_set for VertexInfoSet
Justin Viiret [Tue, 2 May 2017 00:20:59 +0000 (10:20 +1000)]
smallwrite: remove unnecessary assertion
The alpha remap array is always big enough to remap characters. Silences
Coverity issue CID 167663.
Alex Coyte [Mon, 1 May 2017 03:31:09 +0000 (13:31 +1000)]
smwr: more aggressive pruning of overlong paths in NFA
Alex Coyte [Mon, 1 May 2017 01:33:37 +0000 (11:33 +1000)]
determinisation: cleanups, remove shrinkStateSet
Justin Viiret [Mon, 1 May 2017 05:08:06 +0000 (15:08 +1000)]
ng_depth: modernize findLoopReachable
Justin Viiret [Mon, 1 May 2017 04:57:05 +0000 (14:57 +1000)]
ng_depth: rename calcDepth functions, return vec
Alex Coyte [Mon, 1 May 2017 06:09:10 +0000 (16:09 +1000)]
rose: rework storage of extra lookaround information
- remove explicit lookaround table from bytecode
- make the RoseInstr responsible for adding required info to blob
Justin Viiret [Mon, 1 May 2017 04:21:51 +0000 (14:21 +1000)]
verify_types: add type static assertions
Justin Viiret [Wed, 26 Apr 2017 07:22:22 +0000 (17:22 +1000)]
verify_types: throw on failure
In release builds, we would like a verify_u32 (etc) failure to be more
than just an assertion.
Alex Coyte [Thu, 27 Apr 2017 05:42:02 +0000 (15:42 +1000)]
pass roleStateIndices by reference
Alex Coyte [Thu, 27 Apr 2017 03:58:55 +0000 (13:58 +1000)]
Strengthen assert to indicate that q->end is less than q->cur
Coverity CID-167665
Justin Viiret [Wed, 26 Apr 2017 05:12:27 +0000 (15:12 +1000)]
rose: replace RoseLiteralMap use of bimap
This apoproach is simpler and more efficient for cases with large
numbers of literals.
Justin Viiret [Sun, 23 Apr 2017 23:27:16 +0000 (09:27 +1000)]
rose: remove hasLiteral()
Justin Viiret [Sun, 23 Apr 2017 23:26:35 +0000 (09:26 +1000)]
ue2_literal: add hash_value()
Alex Coyte [Wed, 26 Apr 2017 03:45:31 +0000 (13:45 +1000)]
rose: shift program construction functions to rose_build_program
Justin Viiret [Wed, 26 Apr 2017 01:21:19 +0000 (11:21 +1000)]
rose_build: move dedupe analysis into own file
Justin Viiret [Mon, 24 Apr 2017 04:58:20 +0000 (14:58 +1000)]
report_manager: more use of unordered_map
Justin Viiret [Mon, 24 Apr 2017 04:40:47 +0000 (14:40 +1000)]
report_manager: use unordered externalIdMap
Alex Coyte [Wed, 26 Apr 2017 00:38:55 +0000 (10:38 +1000)]
split out instruction details to own files
Alex Coyte [Tue, 25 Apr 2017 23:31:04 +0000 (09:31 +1000)]
rose_program: merge RECORD_ANCHORED instruction into ANCHORED_DELAY
Alex Coyte [Mon, 24 Apr 2017 00:22:44 +0000 (10:22 +1000)]
rose: minor improvements to avoid unneeded program instructions
- strip out lonely check handled instructions
- avoid producing programs for empty ghost roles
Alex Coyte [Sun, 23 Apr 2017 23:51:58 +0000 (09:51 +1000)]
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
Alex Coyte [Tue, 11 Apr 2017 00:50:16 +0000 (10:50 +1000)]
be more selective about generating CLEAR_WORK_DONE instructions
Alex Coyte [Fri, 21 Apr 2017 05:46:13 +0000 (15:46 +1000)]
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
Matthew Barr [Tue, 18 Apr 2017 01:48:17 +0000 (11:48 +1000)]
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
Justin Viiret [Wed, 19 Apr 2017 05:45:35 +0000 (15:45 +1000)]
smallwrite: cope when everything has been pruned
Justin Viiret [Wed, 12 Apr 2017 01:24:30 +0000 (11:24 +1000)]
mcclellancompile: docs for main compile function
Justin Viiret [Tue, 11 Apr 2017 06:13:43 +0000 (16:13 +1000)]
smallwrite: prune trie when rose is high quality
Justin Viiret [Tue, 11 Apr 2017 04:21:02 +0000 (14:21 +1000)]
smallwrite: construct DFA states in BFS order
Justin Viiret [Tue, 11 Apr 2017 03:56:51 +0000 (13:56 +1000)]
smallwrite: bfs ordering, refine daddy selection
Justin Viiret [Tue, 11 Apr 2017 03:37:56 +0000 (13:37 +1000)]
smallwrite: use failure map to set dfa daddy state
Justin Viiret [Tue, 11 Apr 2017 02:44:20 +0000 (12:44 +1000)]
dfa: allow smwr to avoid lengthy daddy recalc
Justin Viiret [Tue, 18 Apr 2017 06:35:06 +0000 (16:35 +1000)]
mcsheng_compile: factor out find_daddy_candidates
Justin Viiret [Tue, 11 Apr 2017 01:36:20 +0000 (11:36 +1000)]
mcclellancompile: factor out find_daddy_candidates
Justin Viiret [Tue, 11 Apr 2017 00:56:22 +0000 (10:56 +1000)]
dfa: only accel init states from smwr path
If the small-write DFA has been built from literals, then we only need
to look for accel states at init.
Justin Viiret [Thu, 13 Apr 2017 03:18:33 +0000 (13:18 +1000)]
dfa: prune_overlong -> clear_deeper_reports
Rather than pruning states, we simply clear reports on states that are
too deep and allow Hopcroft minimisation to reduce the size of the DFA
afterwards.
Justin Viiret [Thu, 13 Apr 2017 06:18:22 +0000 (16:18 +1000)]
dfa_min: clean up and improve minimize code
Justin Viiret [Mon, 10 Apr 2017 04:23:00 +0000 (14:23 +1000)]
accel_dfa_build_strat: use flat_map for small maps
Justin Viiret [Mon, 10 Apr 2017 01:05:06 +0000 (11:05 +1000)]
accel_dfa_build_strat: use small_vector for paths
Justin Viiret [Mon, 10 Apr 2017 00:32:37 +0000 (10:32 +1000)]
mcclellancompile_util: reduce malloc traffic, tidy
Justin Viiret [Mon, 10 Apr 2017 06:39:31 +0000 (16:39 +1000)]
ng_limex_accel: fix broken termination condition
Justin Viiret [Fri, 7 Apr 2017 07:02:00 +0000 (17:02 +1000)]
expressions: add much faster limitToSignatures()
Matthew Barr [Fri, 7 Apr 2017 06:40:11 +0000 (16:40 +1000)]
Ensure simd types are aligned to what we assume
Turns out Clang is sensitive to the location of the alignment attribute.
Justin Viiret [Thu, 6 Apr 2017 03:47:30 +0000 (13:47 +1000)]
ng_limex_accel: compile time speedups, tidy up
Justin Viiret [Thu, 6 Apr 2017 01:43:56 +0000 (11:43 +1000)]
find_better_daddy: use flat_set for hinted states
Justin Viiret [Thu, 6 Apr 2017 06:14:43 +0000 (16:14 +1000)]
find_escape_strings: find outs2_broken faster
Justin Viiret [Fri, 20 Jan 2017 03:25:50 +0000 (14:25 +1100)]
doc: update copyright year
Justin Viiret [Sun, 30 Oct 2016 22:46:41 +0000 (09:46 +1100)]
hsbench: documentation
Matthew Barr [Thu, 6 Apr 2017 00:53:28 +0000 (10:53 +1000)]
cmake: check for libc++ directly
Rather than trying to infer libc++ use from platform and compiler, just
look for a defined symbol.
Matthew Barr [Fri, 7 Apr 2017 01:11:53 +0000 (11:11 +1000)]
Use ue2::noncopyable instead of deleting copy ctor
Matthew Barr [Wed, 22 Mar 2017 21:13:00 +0000 (08:13 +1100)]
windows: tools are unix only
Justin Viiret [Fri, 31 Mar 2017 03:04:44 +0000 (14:04 +1100)]
smallwrite: aho-corasick construction for literals
Justin Viiret [Thu, 2 Mar 2017 00:09:27 +0000 (11:09 +1100)]
smallwrite: simple trie experiment
Justin Viiret [Wed, 5 Apr 2017 06:40:07 +0000 (16:40 +1000)]
rdfa_merge: sort esets before alphabet calc
Xu, Chi [Wed, 5 Apr 2017 20:20:17 +0000 (04:20 +0800)]
rose: fix CHECK_MULTIPATH_LOOKAROUND match difference bug
Justin Viiret [Thu, 6 Apr 2017 00:09:34 +0000 (10:09 +1000)]
bytecode_ptr: needs <stdexcept> for logic_error
Justin Viiret [Wed, 5 Apr 2017 22:37:05 +0000 (08:37 +1000)]
bytecode_ptr: avoid shadowing size()
Justin Viiret [Wed, 5 Apr 2017 06:58:53 +0000 (16:58 +1000)]
bytecode_ptr: add shrink() member function
Justin Viiret [Wed, 5 Apr 2017 05:54:52 +0000 (15:54 +1000)]
bytecode_ptr: fix shadow/conversion issues (gcc48)
Justin Viiret [Wed, 5 Apr 2017 00:29:22 +0000 (10:29 +1000)]
rose: eliminate roseSize, use bytecode_ptr size
Justin Viiret [Tue, 4 Apr 2017 01:52:25 +0000 (11:52 +1000)]
alloc: remove aligned_unique_ptr
Justin Viiret [Tue, 4 Apr 2017 01:50:10 +0000 (11:50 +1000)]
rose_build_long_lit: use bytecode_ptr
Justin Viiret [Tue, 4 Apr 2017 01:41:50 +0000 (11:41 +1000)]
unit: use bytecode_ptr instead of aligned_unique_ptr
Justin Viiret [Tue, 4 Apr 2017 01:19:07 +0000 (11:19 +1000)]
rose: use bytecode_ptr for interpreter programs
Justin Viiret [Tue, 4 Apr 2017 01:06:02 +0000 (11:06 +1000)]
rose_build_bytecode: fix up indentation
Justin Viiret [Tue, 4 Apr 2017 01:02:33 +0000 (11:02 +1000)]
bytecode_ptr: add make_zeroed_bytecode_ptr
Rather than always zeroing memory.
Justin Viiret [Tue, 4 Apr 2017 00:51:09 +0000 (10:51 +1000)]
bytecode_ptr updates
Justin Viiret [Mon, 3 Apr 2017 23:29:41 +0000 (09:29 +1000)]
teddy: fix forward decl (namespace ue2)
Justin Viiret [Mon, 3 Apr 2017 07:38:26 +0000 (17:38 +1000)]
bytecode_ptr: some small improvements
Justin Viiret [Mon, 3 Apr 2017 07:21:37 +0000 (17:21 +1000)]
nfa: switch to using bytecode_ptr<NFA>
Justin Viiret [Mon, 3 Apr 2017 06:47:21 +0000 (16:47 +1000)]
rose_build_anchored: use bytecode_ptr
Justin Viiret [Mon, 3 Apr 2017 03:56:49 +0000 (13:56 +1000)]
hwlm: use bytecode_ptr for HWLM structures
Justin Viiret [Fri, 31 Mar 2017 02:22:04 +0000 (13:22 +1100)]
rose: use bytecode_ptr<RoseEngine>
Justin Viiret [Fri, 31 Mar 2017 00:25:04 +0000 (11:25 +1100)]
mpvcompile: use bytecode_ptr
Justin Viiret [Mon, 20 Mar 2017 06:26:49 +0000 (17:26 +1100)]
fdr: use bytecode_ptr in fdr/teddy compilers
Justin Viiret [Mon, 20 Mar 2017 06:18:41 +0000 (17:18 +1100)]
noodle_build: use bytecode_ptr
Justin Viiret [Mon, 20 Mar 2017 05:31:01 +0000 (16:31 +1100)]
smallwrite_build: delete smwrSize
Justin Viiret [Mon, 20 Mar 2017 05:30:08 +0000 (16:30 +1100)]
smallwrite_build: use bytecode_ptr
Justin Viiret [Mon, 20 Mar 2017 04:35:50 +0000 (15:35 +1100)]
limex_compile: use bytecode_ptr
Justin Viiret [Mon, 20 Mar 2017 04:11:44 +0000 (15:11 +1100)]
rose_build_engine_blob: add func for bytecode_ptr
Justin Viiret [Mon, 20 Mar 2017 03:51:36 +0000 (14:51 +1100)]
fdr_confirm_compile: use bytecode_ptr
Justin Viiret [Mon, 20 Mar 2017 02:53:40 +0000 (13:53 +1100)]
fdr: use bytecode_ptr internally
Justin Viiret [Mon, 20 Mar 2017 00:51:15 +0000 (11:51 +1100)]
bytecode_ptr: new smart pointer type
bytecode_ptr<T> is an aligned_unique_ptr<T> that can be queried for its
size and alignment.
Justin Viiret [Tue, 4 Apr 2017 04:36:52 +0000 (14:36 +1000)]
limex: more general CANNOT_DIE analysis
Justin Viiret [Mon, 3 Apr 2017 03:05:17 +0000 (13:05 +1000)]
limex: refactor non-accel loops into function
Justin Viiret [Mon, 3 Apr 2017 02:30:30 +0000 (12:30 +1000)]
limex_dump: dump LimEx type and flags in text