Hi Kevin & Janne, Does the following ring a bell ? If not I'll figure it out ;-) It showed up with static analysis, after the NEON patch was merged (no static analysis is done before).
Cheers
/erasure-code/jerasure/gf-complete/src/gf_w32.c: 2309 in gf_w32_split_init()
2303 if ((h->arg1 == 4 && h->arg2 == 32) || (h->arg1 == 32 && h->arg2 ==
4) ||
2304 ((issse3 || isneon) && h->mult_type == GF_REGION_DEFAULT)) {
2305 ld4 = (struct gf_split_4_32_lazy_data *) h->private;
2306 ld4->last_value = 0;
2307 if ((h->region_type & GF_REGION_NOSIMD) || !(issse3 || isneon)) {
2308 gf->multiply_region.w32 = gf_w32_split_4_32_lazy_multiply_region;
>>> CID 1256941: Logically dead code (DEADCODE)
>>> Execution cannot reach this statement "if (isneon) {
} else if (h-...".
2309 } else if (isneon) {
2310 #ifdef ARM_NEON
2311 gf_w32_neon_split_init(gf);
2312 #endif
2313 } else if (h->region_type & GF_REGION_ALTMAP) {
2314 gf->multiply_region.w32 =
gf_w32_split_4_32_lazy_sse_altmap_multiply_region;
________________________________________________________________________________________________________
*** CID 1256942: Logically dead code (DEADCODE)
/erasure-code/jerasure/gf-complete/src/gf_w8.c: 1147 in gf_w8_table_init()
1141 use_simd = 1;
1142 #else
1143 use_simd = 0;
1144 #endif
1145
1146 if (h->mult_type == GF_MULT_DEFAULT && use_simd) {
>>> CID 1256942: Logically dead code (DEADCODE)
>>> Execution cannot reach this statement "dd = (struct gf_w8_default_...".
1147 dd = (struct gf_w8_default_data *)h->private;
1148 scase = 3;
1149 bzero(dd->high, sizeof(uint8_t) * GF_FIELD_SIZE * GF_HALF_SIZE);
1150 bzero(dd->low, sizeof(uint8_t) * GF_FIELD_SIZE * GF_HALF_SIZE);
1151 bzero(dd->divtable, sizeof(uint8_t) * GF_FIELD_SIZE *
GF_FIELD_SIZE);
1152 bzero(dd->multtable, sizeof(uint8_t) * GF_FIELD_SIZE *
GF_FIELD_SIZE);
--
Loïc Dachary, Artisan Logiciel Libre
signature.asc
Description: OpenPGP digital signature
