281 Commits

Author SHA1 Message Date
Yoan Picchi
213ac75e0e Fix double shufti reporting false positives
Double shufti used to offset one vector, resulting in losing one character
at the end of every vector. This was replaced by a magic value indicating a
match. This meant that if the first char of a pattern fell on the last char of
a vector, double shufti would assume the second character is present and
report a match.
This patch fixes it by keeping the previous vector and feeding its data to the
new one when we shift it, preventing any loss of data.

Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>
2025-06-05 14:23:08 +00:00
Yoan Picchi
128a0785cd Add regression test for double shufti
It tests for false positive at vector edges.

Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>
2025-06-05 14:23:08 +00:00
Konstantinos Margaritis
f7d5546fe5
Bugfix/fix avx512vbmi regressions (#335)
Multiple AVX512VBMI-related fixes:

src/nfa/mcsheng_compile.cpp: No need for an assert here, impl_id can be set to 0
src/nfa/nfa_api_queue.h: Make sure this compiles on both C++ and C
src/nfagraph/ng_fuzzy.cpp: Fix compilation error when DEBUG_OUTPUT=on
src/runtime.c: Fix crash when data == NULL
unit/internal/sheng.cpp: Unit test has to enable AVX512VBMI manually as autodetection does not get trigger, this causes test to fail
src/fdr/teddy_fat.cpp: AVX512 loads need to be 64-bit aligned, caused a crash on clang-18
2025-05-30 21:08:55 +03:00
Konstantinos Margaritis
689556d5f9
Various cppcheck fixes (#337) 2025-05-30 12:27:28 +03:00
Rafał Dowgird
d90ab3ac1c
Fixed out of bounds read in AVX512VBMI version of fdr_exec_fat_teddy … (#333)
Fixed out of bounds read in AVX512VBMI version of fdr_exec_fat_teddy (#322)

  * Replaced the 32 byte read with a properly truncated mapped read
  * Added a unit test

Co-authored-by: Rafał Dowgird <rafal.dowgird@rtbhouse.com>
2025-05-18 11:01:10 +03:00
gtsoul-tech
4f09e785c0
Fix regression error #317 and add unit test (#318)
Revert the code that produced the regression error in #317 
Add the regression error to a unit test regressions.cpp along with the rebar tests

---------

Co-authored-by: gtsoul-tech <gtsoulkanakis@gmail.com>
2024-11-13 10:43:23 +02:00
gtsoul-tech
9a3268b047
Cppcheck errors fixed and suppressed (#319)
* supress knownConditionTrueFalse

* cppcheck suppress redundantInitialization

* cppcheck solve stlcstrStream

* cppcheck suppress useStlAlgorithm

* cppcheck-suppress derefInvalidIteratorRedundantCheck

* cppcheck solvwe constParameterReference

* const parameter reference cppcheck

* removed wrong fix

* cppcheck-suppress memsetClassFloat

* cppcheck fix memsetClassFloat

* cppcheck fix unsignedLessThanZero

* supressing all errors on simde gitmodule

* fix typo (unsignedLessThanZero)

* fix cppcheck suppress simde gitmodule

* cppcheck-suppress unsignedLessThanZero

---------

Co-authored-by: gtsoul-tech <gtsoulkanakis@gmail.com>
2024-11-12 10:01:11 +02:00
gtsoul-tech
6c8e33e597
Bug fix/rebar tests (#307)
* fixed paths and utf8-lossy=true

* revert to maskz (its the bug)

* cppcheck fix

---------

Co-authored-by: gtsoul-tech <gtsoulkanakis@gmail.com>
2024-07-29 11:49:25 +03:00
gtsoul-tech
1dc0600156
Rebar based Unit tests (#305)
* rebar based unit tests

* fixing paths

---------

Co-authored-by: gtsoul-tech <gtsoulkanakis@gmail.com>
2024-07-24 10:39:24 +03:00
gtsoul-tech
0f4369bf22
Bug fix/clang-tidy-performance (#300)
Various clang-tidy-performance fixes:
* noexcept
* performance-noexcept-swap
* performance
* performance-move-const-arg
* performance-unnecessary-value-param
* performance-inefficient-vector-operation
* performance-no-int-to-ptr
* add performance
* performance-inefficient-string-concatenation
* clang-analyzer-deadcode.DeadStores
* performance-inefficient-vector-operation
* clang-analyzer-core.NullDereference
* clang-analyzer-core.UndefinedBinaryOperatorResult
* clang-analyzer-core.CallAndMessage

---------

Co-authored-by: gtsoul-tech <gtsoulkanakis@gmail.com>
2024-06-20 14:57:19 +03:00
Konstantinos Margaritis
4113a1f150
Fix Clang Tidy warnings (#295)
Fixes some of the clang-tidy warnings
clang-analyzer-deadcode.DeadStores
clang-analyzer-cplusplus.NewDelete
clang-analyzer-core.uninitialized.UndefReturn

closes some:#253

ignored in this pr:
/usr/include/boost/smart_ptr/detail/shared_count.hpp:432:24
/usr/include/boost/smart_ptr/detail/shared_count.hpp:443:24
51 in build/src/parser
gtest ones
src/fdr/teddy_compile.cpp:600:5 refactoring on way
src/fdr/fdr_compile.cpp:209:5 refactoring on way
2024-05-31 18:23:16 +03:00
gtsoul-tech
e36203c323 remove comment 2024-05-31 09:47:45 +03:00
gtsoul-tech
de1697b467 deadcode.DeadStores 2024-05-30 16:40:18 +03:00
gtsoul-tech
aa6acaec84 optin.performance.Padding 2024-05-27 15:41:57 +03:00
Konstantinos Margaritis
c837925087
Fix/Suppress remaining Cppcheck warnings (#291)
Fix/suppress the following cppcheck warnings:

* arithOperationsOnVoidPointer
* uninitMember
* const*
* shadowVariable
* assignmentIntegerToAddress
* containerOutOfBounds
* pointer-related warnings in Ragel source
* missingOverride
* memleak
* knownConditionTrueFalse
* noExplicitConstructor
* invalidPrintfArgType_sint
* useStlAlgorithm
* cstyleCast
* clarifyCondition
* VSX-related cstyleCast
* unsignedLessThanZero 

Furthermore, we added a suppression list to be used, which also includes the following:
* missingIncludeSystem
* missingInclude
* unmatchedSuppression
2024-05-27 12:23:02 +03:00
Yoan Picchi
938c026256 Speed up truffle with 256b TBL instructions
256b wide SVE vectors allow some simplification of truffle.
Up to 40% speedup on graviton3. Going from 12500 MB/s to 17000 MB/s
onhe microbenchmark.
SVE2 also offer this capability for 128b vector with a speedup around
25% compared to normal SVE

Add unit tests and benchmark for this wide variant

Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>
2024-05-22 16:13:53 +00:00
Konstantinos Margaritis
2ec64b6f07
Merge pull request #283 from isildur-g/wip-cppcheck271-part2
Wip cppcheck271 useStlAlgorithm part2
2024-05-21 15:52:15 +03:00
Konstantinos Margaritis
40da067b4f Add more C style casts fixes and suppressions 2024-05-18 21:49:54 +03:00
Konstantinos Margaritis
a8373df48b
Merge pull request #285 from gtsoul-tech/bugFix/cppcheck-cStylecasts-Part3
Part 3 of C-style cast cppcheck
2024-05-18 09:43:25 +03:00
gtsoul-tech
e261f286da cStyleCasts 2024-05-17 16:58:08 +03:00
gtsoul-tech
2fa06dd9ed cStyleCasts 2024-05-17 13:57:12 +03:00
g. economou
22c3e3da6e
Merge branch 'develop' into wip-cppcheck271-part2 2024-05-17 11:08:09 +03:00
G.E
f2cecfd0e2 next batch 2024-05-17 10:44:28 +03:00
Konstantinos Margaritis
59a098504e remove unused variables 2024-05-15 17:18:53 +03:00
Konstantinos Margaritis
6d6d4e1013 Fix unreadVariable warning 2024-05-15 17:05:50 +03:00
gtsoul-tech
0258606df3 explicit constructor Supervector 2024-05-14 13:32:50 +03:00
gtsoul-tech
9798b57f9e most ptr.get() conversion 2024-05-13 14:24:16 +03:00
gtsoul-tech
753c7de002 Merge branch 'develop' into test-noExplicitConstructor 2024-05-10 12:46:44 +03:00
gtsoul-tech
bdffbde80f noExplicitConstructor 1 more 2024-05-10 10:08:14 +03:00
gtsoul-tech
94b17ecaf2 noExplicitConstructor 2024-05-10 10:07:47 +03:00
Konstantinos Margaritis
7dd2135b80
Merge pull request #264 from gtsoul-tech/bugFix/cppcheck-constVariablePointer
Cppcheck constVariablePointer error
2024-05-08 10:28:24 +03:00
Konstantinos Margaritis
692a63c8ca
Merge pull request #263 from gtsoul-tech/bug/cppcheck-61
Cppcheck knownConditionTrueFalse error
2024-05-02 16:50:16 +03:00
gtsoul-tech
5ad1f2127f constVariablePointer 2024-05-02 14:30:18 +03:00
gtsoul-tech
a634d57b2d knownConditionTrueFalse fixes previously fp 2024-05-02 10:13:55 +03:00
g. economou
727cff3621
Merge branch 'develop' into wip-isildur-g-cppcheck-47-48-58 2024-05-01 10:59:59 +03:00
G.E
9902ca0e34 addressing 47 [constParameterReference],48 [constVariableReference],58
[constVariable]
2024-05-01 10:54:15 +03:00
Konstantinos Margaritis
27bb2b9134
Merge pull request #239 from ypicchi-arm/feature/add-sheng-unit-tests
Feature/add sheng unit tests
2024-05-01 00:07:14 +03:00
Yoan Picchi
f2d8d63793 Add sheng tests
Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>
2024-04-30 14:34:14 +00:00
gtsoul-tech
b5bf3d8d31 unreadVariable 2024-04-30 13:36:39 +03:00
Konstantinos Margaritis
2921e50ecc
Merge pull request #259 from gtsoul-tech/bug/cppcheckErrors
Bug/cppcheck errors (32,35) WIP
2024-04-30 10:27:47 +03:00
Konstantinos Margaritis
aa1955a368
Merge pull request #258 from isildur-g/wip-isildur-g-cppcheck1220
Wip cppcheck1220
2024-04-29 21:58:13 +03:00
gtsoul-tech
bb6464431f new variableScope 2024-04-29 15:09:55 +03:00
G.E
2a476df2c5 fixed const adjustments. 2024-04-29 13:38:35 +03:00
gtsoul-tech
987cd17160 variableScope 2024-04-29 13:13:07 +03:00
G.E
7fd45f864c next batch for cppeheck, addressing syntaxError and
constParameterPointer
2024-04-24 17:32:09 +03:00
gtsoul-tech
adda613f51 shiftTooManyBitsSigned 2024-04-24 11:13:28 +03:00
gtsoul-tech
e6c884358e uninitvar 2024-04-24 11:13:02 +03:00
gtsoul-tech
9b9df1b397 invalidPrintfArgType_sint 2024-04-24 11:07:23 +03:00
Konstantinos Margaritis
8cd365121d Revert "fix more unused-variable warnings"
This reverts commit afb1a1705f8073ba43b38845d3aa1329634083ed.
2024-01-20 17:46:29 +02:00
Konstantinos Margaritis
68dab83799 Revert "fix unused-variable warning"
This reverts commit ac02b589beebad99820a8b42e6b96e598e7da929.
2024-01-20 17:46:29 +02:00