]>
git.ipfire.org Git - thirdparty/vectorscan.git/log
Azat Khuzhin [Wed, 10 May 2023 13:29:23 +0000 (15:29 +0200)]
Fix use-of-uninitialized-value due to getData128()
When temporary buffer is used in getData128(), then it may return
uninitialized data.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
Konstantinos Margaritis [Wed, 29 Mar 2023 09:55:48 +0000 (12:55 +0300)]
Merge pull request #144 from rschu1ze/rs/fix-libcxx16
Fix compilation with libcxx 16
Robert Schulze [Tue, 28 Mar 2023 21:34:35 +0000 (21:34 +0000)]
Fix compilation with libcxx 16
After upgrading our (ClickHouse's) libcxx from 15 to 16, the compiler
started to complain about usage of an incomplete type "RoseInstruction"
in this (header) function:
void RoseProgram::replace(Iter it, std::unique_ptr<RoseInstruction> ri) {
...
The reason is that libcxx 16 is the first version which implements C++23
constexpr std::unique_ptr (P2273R3, see (*)). RoseProgram::replace()
happens to be be const-evaluatable and the compiler tries to run
std::unique_ptr's ctor + dtor. This fails because at this point
RoseInstruction isn't defined yet.
There are two ways of fixing this:
1. Include rose_build_instruction.h (which contains RoseInstruction)
into rose_build_program.h. Disadvantage: The new include will
propagate transitively into all callers.
2. Move the function implementation into the source file which sees
RoseInstruction's definition already. Disadvantage: Template
instantiation is no longer automatic, instead there must be either a)
explicit template instantiation (e.g. in rose_build_program.cpp) or
b) all callers which instantiate the function must live in the same
source file and do the instantiations by themselves. Fortunately, the
latter is the case here, but potential future code outside
rose_build_program.cpp will require ugly explicit instantiation.
(*) https://en.cppreference.com/w/cpp/23
Konstantinos Margaritis [Thu, 23 Mar 2023 08:31:06 +0000 (10:31 +0200)]
Merge pull request #142 from VectorCamp/feature/bump-version
Bump version
Konstantinos Margaritis [Thu, 23 Mar 2023 08:29:20 +0000 (08:29 +0000)]
Bump version
Konstantinos Margaritis [Thu, 23 Mar 2023 08:14:59 +0000 (10:14 +0200)]
Merge pull request #141 from VectorCamp/bugfix/hs-flag-utf8-signed-char-on-arm
Set Ragel.rl char type to unsigned, #135
Konstantinos Margaritis [Wed, 22 Mar 2023 19:39:03 +0000 (21:39 +0200)]
clang 14 makes some test failed because val is uninitialized
Konstantinos Margaritis [Wed, 22 Mar 2023 09:29:28 +0000 (11:29 +0200)]
fix ExpressionParser.cpp path
Konstantinos Margaritis [Wed, 22 Mar 2023 09:29:02 +0000 (11:29 +0200)]
add -funsigned-char to RAGEL_C_FLAGS, move util build after that
Konstantinos Margaritis [Wed, 22 Mar 2023 08:49:19 +0000 (08:49 +0000)]
Force -funsigned-char to RAGEL_C_FLAGS
Konstantinos Margaritis [Tue, 21 Mar 2023 18:11:17 +0000 (18:11 +0000)]
fix typo
Konstantinos Margaritis [Tue, 21 Mar 2023 18:07:06 +0000 (18:07 +0000)]
Set Ragel.rl char type to unsigned, #135
Konstantinos Margaritis [Tue, 1 Nov 2022 15:41:39 +0000 (17:41 +0200)]
Merge pull request #136 from VectorCamp/feature/prefix-assume-aligned
prefix assume_aligned to avoid clash with std::assume_aligned in c++20
Konstantinos Margaritis [Tue, 1 Nov 2022 10:29:22 +0000 (10:29 +0000)]
prefix assume_aligned to avoid clash with std::assume_aligned in c++20
Konstantinos Margaritis [Mon, 19 Sep 2022 09:44:14 +0000 (12:44 +0300)]
Merge pull request #125 from abondarev84/master
cmake change for correct placement of autodetected tune & arch flags of GCC and SVE enablement on AARCH64
Alex Bondarev [Sun, 18 Sep 2022 16:42:45 +0000 (19:42 +0300)]
clang SVE build fix
Alex Bondarev [Sun, 18 Sep 2022 09:04:05 +0000 (12:04 +0300)]
SVE enabled on user input. updated README
tune and arch flags will be applied from autodetect only if they have been created by the process, otherwise the old logical flow remains wrt the flags
Konstantinos Margaritis [Fri, 16 Sep 2022 16:04:06 +0000 (19:04 +0300)]
Merge pull request #129 from VectorCamp/bugfix/fix-clang-on-power
Fix compile errors on clang and Power
Konstantinos Margaritis [Fri, 16 Sep 2022 11:05:31 +0000 (14:05 +0300)]
move variable
Konstantinos Margaritis [Fri, 16 Sep 2022 11:04:59 +0000 (14:04 +0300)]
clang 13+ gives wrong -Wunused-but-set-variable error on nfa/mcclellancompile.cpp about total_daddy variable, disabling
Konstantinos Margaritis [Fri, 16 Sep 2022 11:03:17 +0000 (14:03 +0300)]
remove leftover debug print
Konstantinos Margaritis [Fri, 16 Sep 2022 11:02:53 +0000 (14:02 +0300)]
clang 14 does not allow bitwise OR for bools
Konstantinos Margaritis [Fri, 16 Sep 2022 11:02:26 +0000 (14:02 +0300)]
clang 14 complains about this, needs investigation
Konstantinos Margaritis [Fri, 16 Sep 2022 09:50:33 +0000 (12:50 +0300)]
[VSX] movemask needs to be explicitly aligned on clang for vec_ste
Konstantinos Margaritis [Fri, 16 Sep 2022 09:41:08 +0000 (12:41 +0300)]
[VSX] clang complains about the order of __vector
Alex Bondarev [Thu, 15 Sep 2022 21:03:08 +0000 (00:03 +0300)]
additional mcpu flag cleanup
Alex Bondarev [Thu, 15 Sep 2022 15:38:01 +0000 (18:38 +0300)]
removed cpu reference flags and fixed tune flag
Alex Bondarev [Tue, 13 Sep 2022 15:29:06 +0000 (18:29 +0300)]
updated README to reflect CMake changes
Alex Bondarev [Tue, 13 Sep 2022 15:21:10 +0000 (18:21 +0300)]
fix to correctly place the autodetected flags and to activate SVE options
Konstantinos Margaritis [Tue, 13 Sep 2022 12:57:08 +0000 (12:57 +0000)]
bump version
Konstantinos Margaritis [Tue, 13 Sep 2022 12:52:20 +0000 (15:52 +0300)]
Merge pull request #124 from VectorCamp/develop
Merge develop to master
Konstantinos Margaritis [Tue, 13 Sep 2022 06:13:05 +0000 (09:13 +0300)]
Merge pull request #123 from VectorCamp/feature/neon-shift-optimizations
[NEON] simplify/optimize shift/align primitives
Konstantinos Margaritis [Mon, 12 Sep 2022 13:09:51 +0000 (13:09 +0000)]
[NEON] simplify/optimize shift/align primitives
Konstantinos Margaritis [Fri, 9 Sep 2022 10:42:49 +0000 (13:42 +0300)]
Merge pull request #121 from liquidaty/mingw64-develop
fix to enable successful build with mingw64
liquidaty [Thu, 8 Sep 2022 16:59:37 +0000 (09:59 -0700)]
fix to enable successful build with mingw64
Konstantinos Margaritis [Thu, 8 Sep 2022 10:41:13 +0000 (13:41 +0300)]
Merge pull request #119 from VectorCamp/feature/vsx-optimizations
VSX optimizations
Konstantinos Margaritis [Wed, 7 Sep 2022 13:00:10 +0000 (16:00 +0300)]
use correct intrinsic for lshiftbyte_m128
Konstantinos Margaritis [Wed, 7 Sep 2022 12:07:20 +0000 (15:07 +0300)]
provide non-immediate versions of lshiftbyte/rshiftbyte on x86
Konstantinos Margaritis [Wed, 7 Sep 2022 10:42:25 +0000 (13:42 +0300)]
readd simd_onebit_masks for x86, needs more work
Konstantinos Margaritis [Wed, 7 Sep 2022 10:20:01 +0000 (10:20 +0000)]
[NEON] optimize mask1bit128, get rid of simd_onebit_masks
Konstantinos Margaritis [Wed, 7 Sep 2022 09:41:32 +0000 (12:41 +0300)]
remove simd_onebit_masks from arm/x86 headers, as they moved to common
Konstantinos Margaritis [Wed, 7 Sep 2022 09:35:28 +0000 (12:35 +0300)]
[VSX] optimize alignr method
Konstantinos Margaritis [Wed, 7 Sep 2022 09:16:14 +0000 (12:16 +0300)]
[VSX] optimize shift operators
Konstantinos Margaritis [Wed, 7 Sep 2022 08:52:08 +0000 (11:52 +0300)]
[VSX] optimize shifting methods, replace template Unroller
Konstantinos Margaritis [Tue, 6 Sep 2022 23:02:11 +0000 (02:02 +0300)]
optimize comparemask implementation, clean up code, use union types instead of casts
Konstantinos Margaritis [Tue, 6 Sep 2022 21:01:54 +0000 (00:01 +0300)]
[VSX] add algorithm for alignr w/o use of immediates
Konstantinos Margaritis [Tue, 6 Sep 2022 20:39:44 +0000 (23:39 +0300)]
[VSX] correct lshiftbyte_m128/rshiftbyte_m128, variable_byte_shift
Konstantinos Margaritis [Tue, 6 Sep 2022 17:08:44 +0000 (20:08 +0300)]
[VSX] huge optimization of movemask128
Konstantinos Margaritis [Tue, 6 Sep 2022 15:46:39 +0000 (18:46 +0300)]
[VSX] optimize and correct lshift_m128/rshift_m128
Konstantinos Margaritis [Tue, 6 Sep 2022 15:10:55 +0000 (18:10 +0300)]
[VSX] optimized mask1bit128(), moved simd_onebit_masks to common
Konstantinos Margaritis [Fri, 2 Sep 2022 12:12:56 +0000 (15:12 +0300)]
add popcount32x4, popcount64x4 helper functions
Konstantinos Margaritis [Sat, 3 Sep 2022 06:32:43 +0000 (09:32 +0300)]
Merge pull request #118 from VectorCamp/bugfix/hyperscan-backport-202208
Bugfix/hyperscan backport 202208
Konstantinos Margaritis [Tue, 30 Aug 2022 17:40:23 +0000 (20:40 +0300)]
Add missing <memory> header
Liu Zixian [Mon, 27 Jun 2022 08:07:16 +0000 (16:07 +0800)]
fix build with glibc-2.34
SIGTSKSZ is no long a constant after glibc 2.34
https://sourceware.org/pipermail/libc-alpha/2021-August/129718.html
Hong, Yang A [Thu, 4 Mar 2021 16:13:46 +0000 (16:13 +0000)]
literal API: add empty string check.
fixes github issue #302, #304
Hong, Yang A [Thu, 28 Jul 2022 04:59:34 +0000 (04:59 +0000)]
chimera: fix SKIP flag issue
fix github issue #360
Chang, Harry [Thu, 12 May 2022 08:20:29 +0000 (08:20 +0000)]
Corpus editor: fix random char value of UTF-8.
Chang, Harry [Thu, 12 May 2022 02:15:07 +0000 (02:15 +0000)]
Corpus generator: fix random char value of UTF-8.
fixes github issue #184
Hong, Yang A [Thu, 28 Apr 2022 10:11:32 +0000 (10:11 +0000)]
bugfix: fix overflow risk of strlen function
hongyang7 [Thu, 16 Dec 2021 11:02:17 +0000 (19:02 +0800)]
Fix segfaults on allocation failure (#4)
Throw std::bad_alloc instead of returning nullptr from
ue2::AlignedAllocator. Allocators for STL containers are expected never
to return with an invalid pointer, and instead must throw on failure.
Violating this expectation can lead to invalid pointer dereferences.
Co-authored-by: johanngan <johanngan.us@gmail.com>
fixes github issue #317 (PR #320)
Chang, Harry [Wed, 10 Mar 2021 07:20:01 +0000 (07:20 +0000)]
Logical Combination: bypass combination flag in hs_expression_info.
Fixes github issue #291
Hong, Yang A [Thu, 11 Mar 2021 15:20:55 +0000 (15:20 +0000)]
update year for bugfix #302-#305
Hong, Yang A [Thu, 4 Mar 2021 17:00:34 +0000 (17:00 +0000)]
mcclellan: improve wide-state checking in Sherman optimization
fixes github issue #305
Hong, Yang A [Thu, 4 Mar 2021 16:50:14 +0000 (16:50 +0000)]
literal API: add instruction support
fixes github issue #303
Konstantinos Margaritis [Wed, 20 Jul 2022 20:08:11 +0000 (23:08 +0300)]
Merge pull request #116 from pareenaverma/develop
Fixed the PCRE download location
Konstantinos Margaritis [Wed, 20 Jul 2022 13:41:33 +0000 (16:41 +0300)]
Merge pull request #113 from danlark1/develop
Optimize vectorscan for aarch64 by using shrn instruction
Ubuntu [Wed, 20 Jul 2022 13:26:52 +0000 (13:26 +0000)]
Fixed the PCRE download location
Danila Kutenin [Wed, 20 Jul 2022 08:03:50 +0000 (09:03 +0100)]
Fix avx512 movemask call
Danila Kutenin [Sun, 26 Jun 2022 23:05:17 +0000 (23:05 +0000)]
Fix ppc64el debug
Danila Kutenin [Sun, 26 Jun 2022 23:02:02 +0000 (23:02 +0000)]
Minor fix
Danila Kutenin [Sun, 26 Jun 2022 22:59:58 +0000 (22:59 +0000)]
Fix formatting of a couple files
Danila Kutenin [Sun, 26 Jun 2022 22:50:05 +0000 (22:50 +0000)]
Optimize vectorscan for aarch64 by using shrn instruction
This optimization is based on the thread
https://twitter.com/Danlark1/status/
1539344279268691970 and uses
shift right and narrow by 4 instruction https://developer.arm.com/documentation/ddi0596/2020-12/SIMD-FP-Instructions/SHRN--SHRN2--Shift-Right-Narrow--immediate--
To achieve that, I needed to redesign a little movemask into comparemask
and have an additional step towards mask iteration. Our benchmarks
showed 10-15% improvement on average for long matches.
Konstantinos Margaritis [Fri, 20 May 2022 06:05:11 +0000 (09:05 +0300)]
Merge pull request #108 from jth/cmake-python
CMake: Use non-deprecated method for finding python
Jan Henning [Thu, 19 May 2022 14:25:08 +0000 (16:25 +0200)]
Bump scripts to python3
Jan Henning [Thu, 19 May 2022 08:20:17 +0000 (10:20 +0200)]
Use non-deprecated method of finding python
Konstantinos Margaritis [Thu, 5 May 2022 09:14:53 +0000 (12:14 +0300)]
Update CMakeLists.txt
Konstantinos Margaritis [Thu, 5 May 2022 07:34:56 +0000 (10:34 +0300)]
Merge pull request #103 from VectorCamp/develop
Develop
Konstantinos Margaritis [Wed, 4 May 2022 18:57:38 +0000 (21:57 +0300)]
Update Jenkinsfile
Konstantinos Margaritis [Wed, 4 May 2022 13:41:10 +0000 (16:41 +0300)]
Update Jenkinsfile
Konstantinos Margaritis [Wed, 4 May 2022 13:30:22 +0000 (16:30 +0300)]
Update Jenkinsfile
Konstantinos Margaritis [Wed, 4 May 2022 13:27:22 +0000 (16:27 +0300)]
Merge pull request #105 from VectorCamp/bugfix/jenkins
fix large pipeline error
Konstantinos Margaritis [Wed, 4 May 2022 13:26:02 +0000 (16:26 +0300)]
fix large pipeline error
Konstantinos Margaritis [Wed, 4 May 2022 13:14:19 +0000 (16:14 +0300)]
Delete JenkinsFile
Konstantinos Margaritis [Wed, 4 May 2022 13:04:00 +0000 (16:04 +0300)]
Merge pull request #104 from VectorCamp/bugfix/jenkinsfile
add Jenkinsfile back to master branch
Konstantinos Margaritis [Tue, 19 Apr 2022 08:36:25 +0000 (11:36 +0300)]
add Jenkinsfile back to master branch
Konstantinos Margaritis [Tue, 19 Apr 2022 08:36:25 +0000 (11:36 +0300)]
add Jenkinsfile back to master branch
Konstantinos Margaritis [Mon, 18 Apr 2022 17:56:26 +0000 (20:56 +0300)]
Merge pull request #102 from danlark1/patch-2
Optimized and correct version of movemask128 for ARM
Daniel Kutenin [Mon, 18 Apr 2022 12:37:53 +0000 (13:37 +0100)]
Optimized and correct version of movemask128 for ARM
Closes #99
https://gcc.godbolt.org/z/cTjKqzcvn
Previous version was not correct because movemask thought of having bytes 0xFF. We can fully match the semantics + do it faster with USRA instructions.
Re-submission to a develop branch
Konstantinos Margaritis [Mon, 18 Apr 2022 08:08:29 +0000 (11:08 +0300)]
Merge pull request #94 from a16bitsysop/fat_runtime
change FAT_RUNTIME to a normal option so it can be set to off
Konstantinos Margaritis [Mon, 18 Apr 2022 08:07:18 +0000 (11:07 +0300)]
Merge pull request #93 from danlark1/master
Fix all ASAN issues in vectorscan
Duncan Bellamy [Tue, 22 Feb 2022 19:21:18 +0000 (19:21 +0000)]
move to original position
Duncan Bellamy [Sun, 20 Feb 2022 13:14:11 +0000 (13:14 +0000)]
change FAT_RUNTIME to a normal option so it can be set to off
fixes #89
Danila Kutenin [Fri, 18 Feb 2022 19:31:03 +0000 (19:31 +0000)]
Fix a couple of tests
Danila Kutenin [Fri, 18 Feb 2022 18:35:26 +0000 (18:35 +0000)]
Add sanitize options
Danila Kutenin [Fri, 18 Feb 2022 17:14:51 +0000 (17:14 +0000)]
Fix all ASAN issues in vectorscan
Konstantinos Margaritis [Tue, 8 Feb 2022 07:20:34 +0000 (09:20 +0200)]
Merge pull request #90 from BigRedEye/vectorscan-master
Fix word boundary assertions under C++20
BigRedEye [Sat, 8 Jan 2022 01:12:16 +0000 (04:12 +0300)]
fix: Mark operator bool explicit
Konstantinos Margaritis [Fri, 21 Jan 2022 10:25:40 +0000 (12:25 +0200)]
Merge pull request #86 from VectorCamp/develop
New release 5.4.6
Konstantinos Margaritis [Fri, 21 Jan 2022 10:24:03 +0000 (12:24 +0200)]
Merge pull request #87 from VectorCamp/feature/move-debian-package-to-separate-branch
keep debian folder in a separate branch
Konstantinos Margaritis [Fri, 21 Jan 2022 10:07:25 +0000 (12:07 +0200)]
keep debian folder in a separate branch