Konstantinos Margaritis
4fbabb66d8
Merge pull request #148 from azat-ch/getData128-msan
...
Fix use-of-uninitialized-value due to getData128()
2023-05-23 18:44:47 +03:00
Azat Khuzhin
07305d18ae
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>
2023-05-12 23:13:34 +02:00
Konstantinos Margaritis
d05491117c
Merge pull request #144 from rschu1ze/rs/fix-libcxx16
...
Fix compilation with libcxx 16
2023-03-29 12:55:48 +03:00
Robert Schulze
8f26c5e65f
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
2023-03-28 21:58:44 +00:00
Konstantinos Margaritis
8c7fdf1e7a
Merge pull request #142 from VectorCamp/feature/bump-version
...
Bump version
2023-03-23 10:31:06 +02:00
Konstantinos Margaritis
eef3f06c94
Bump version
2023-03-23 08:29:20 +00:00
Konstantinos Margaritis
e6b97a99b8
Merge pull request #141 from VectorCamp/bugfix/hs-flag-utf8-signed-char-on-arm
...
Set Ragel.rl char type to unsigned, #135
2023-03-23 10:14:59 +02:00
Konstantinos Margaritis
842e680650
clang 14 makes some test failed because val is uninitialized
2023-03-22 21:39:03 +02:00
Konstantinos Margaritis
66289cdacf
fix ExpressionParser.cpp path
2023-03-22 11:36:06 +02:00
Konstantinos Margaritis
101f6083b0
add -funsigned-char to RAGEL_C_FLAGS, move util build after that
2023-03-22 11:36:06 +02:00
Konstantinos Margaritis
9f8758d270
Force -funsigned-char to RAGEL_C_FLAGS
2023-03-22 08:49:19 +00:00
Konstantinos Margaritis
1ce45a31c5
fix typo
2023-03-21 18:11:17 +00:00
Konstantinos Margaritis
dbdbfe9473
Set Ragel.rl char type to unsigned, #135
2023-03-21 18:07:06 +00:00
Konstantinos Margaritis
0f967b9575
Merge pull request #136 from VectorCamp/feature/prefix-assume-aligned
...
prefix assume_aligned to avoid clash with std::assume_aligned in c++20
2022-11-01 17:41:39 +02:00
Konstantinos Margaritis
e6cfd11948
prefix assume_aligned to avoid clash with std::assume_aligned in c++20
2022-11-01 10:29:22 +00:00
Konstantinos Margaritis
00d1807bb4
Merge pull request #125 from abondarev84/master
...
cmake change for correct placement of autodetected tune & arch flags of GCC and SVE enablement on AARCH64
2022-09-19 12:44:14 +03:00
Alex Bondarev
7133ac5be1
clang SVE build fix
2022-09-18 19:42:45 +03:00
Alex Bondarev
90ac746303
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
2022-09-18 12:04:05 +03:00
Konstantinos Margaritis
9d34941f13
Merge pull request #129 from VectorCamp/bugfix/fix-clang-on-power
...
Fix compile errors on clang and Power
2022-09-16 19:04:06 +03:00
Konstantinos Margaritis
48105cdd1d
move variable
2022-09-16 14:05:31 +03:00
Konstantinos Margaritis
911a98d54f
clang 13+ gives wrong -Wunused-but-set-variable error on nfa/mcclellancompile.cpp about total_daddy variable, disabling
2022-09-16 14:04:59 +03:00
Konstantinos Margaritis
a4972aa191
remove leftover debug print
2022-09-16 14:03:17 +03:00
Konstantinos Margaritis
0e0147ec5c
clang 14 does not allow bitwise OR for bools
2022-09-16 14:02:53 +03:00
Konstantinos Margaritis
6de45b4648
clang 14 complains about this, needs investigation
2022-09-16 14:02:26 +03:00
Konstantinos Margaritis
3fc6c8a532
[VSX] movemask needs to be explicitly aligned on clang for vec_ste
2022-09-16 12:50:33 +03:00
Konstantinos Margaritis
ef66877e9e
[VSX] clang complains about the order of __vector
2022-09-16 12:41:08 +03:00
Alex Bondarev
4ab0730dbe
additional mcpu flag cleanup
2022-09-16 00:03:08 +03:00
Alex Bondarev
d0a017da99
removed cpu reference flags and fixed tune flag
2022-09-15 18:38:01 +03:00
Alex Bondarev
69e6176e09
updated README to reflect CMake changes
2022-09-13 18:29:06 +03:00
Alex Bondarev
ee0c8f763f
fix to correctly place the autodetected flags and to activate SVE options
2022-09-13 18:21:10 +03:00
Konstantinos Margaritis
f6250ae3e5
bump version
vectorscan/5.4.8
2022-09-13 12:57:08 +00:00
Konstantinos Margaritis
361feb64e3
Merge pull request #124 from VectorCamp/develop
...
Merge develop to master
2022-09-13 15:52:20 +03:00
Konstantinos Margaritis
d0ae940261
Merge pull request #123 from VectorCamp/feature/neon-shift-optimizations
...
[NEON] simplify/optimize shift/align primitives
2022-09-13 09:13:05 +03:00
Konstantinos Margaritis
67b414f2f9
[NEON] simplify/optimize shift/align primitives
2022-09-12 13:09:51 +00:00
Konstantinos Margaritis
db2a6d65f1
Merge pull request #121 from liquidaty/mingw64-develop
...
fix to enable successful build with mingw64
2022-09-09 13:42:49 +03:00
liquidaty
f4840adf3d
fix to enable successful build with mingw64
2022-09-08 09:59:37 -07:00
Konstantinos Margaritis
0c97e5f2c2
Merge pull request #119 from VectorCamp/feature/vsx-optimizations
...
VSX optimizations
2022-09-08 13:41:13 +03:00
Konstantinos Margaritis
e3c237a7e0
use correct intrinsic for lshiftbyte_m128
2022-09-07 16:00:10 +03:00
Konstantinos Margaritis
756ef409b4
provide non-immediate versions of lshiftbyte/rshiftbyte on x86
2022-09-07 15:07:20 +03:00
Konstantinos Margaritis
1ae0d15181
readd simd_onebit_masks for x86, needs more work
2022-09-07 13:42:25 +03:00
Konstantinos Margaritis
0af2ba8616
[NEON] optimize mask1bit128, get rid of simd_onebit_masks
2022-09-07 10:20:01 +00:00
Konstantinos Margaritis
02ae2a3cad
remove simd_onebit_masks from arm/x86 headers, as they moved to common
2022-09-07 12:41:32 +03:00
Konstantinos Margaritis
305a041c73
[VSX] optimize alignr method
2022-09-07 12:35:28 +03:00
Konstantinos Margaritis
a837cf3bee
[VSX] optimize shift operators
2022-09-07 12:16:14 +03:00
Konstantinos Margaritis
be20c2c519
[VSX] optimize shifting methods, replace template Unroller
2022-09-07 12:14:15 +03:00
Konstantinos Margaritis
dc6b8ae92d
optimize comparemask implementation, clean up code, use union types instead of casts
2022-09-07 02:02:11 +03:00
Konstantinos Margaritis
7295b9c718
[VSX] add algorithm for alignr w/o use of immediates
2022-09-07 00:01:54 +03:00
Konstantinos Margaritis
94fe406f0c
[VSX] correct lshiftbyte_m128/rshiftbyte_m128, variable_byte_shift
2022-09-06 23:59:51 +03:00
Konstantinos Margaritis
17467ff21b
[VSX] huge optimization of movemask128
2022-09-06 20:08:44 +03:00
Konstantinos Margaritis
0e7874f122
[VSX] optimize and correct lshift_m128/rshift_m128
2022-09-06 18:48:19 +03:00