5f0ef6a5a9
Interpreting data of one type via a pointer of a different type is an aliasing violating. This means that a compiler optimizer's analyzer can assume that data loaded into an array as uint32_t isn't related to data read out from the same array as uint64_t, and e.g. reorder loads/stores. Since these structs are intentionally used to load data via pointers of a wrong size, tell the compiler that these accesses may alias other reads. This fixes the GetIntraPredictorTest tests of WelsI4x4LumaPredV_c and WelsI4x4LumaPredH_c. (The compiler optimizer did the wrong thing as long as WelsFillingPred8to16_c or WelsFillingPred8x2to16_c were inlined into the calling function.) |
||
---|---|---|
.. | ||
copy_mb.h | ||
cpu_core.h | ||
cpu.h | ||
crt_util_safe_x.h | ||
deblocking_common.h | ||
expand_pic.h | ||
ls_defines.h | ||
macros.h | ||
mc_common.h | ||
measure_time.h | ||
sad_common.h | ||
typedefs.h | ||
utils.h | ||
version.h | ||
version.h.template | ||
wels_common_defs.h | ||
welsCodecTrace.h | ||
WelsThreadLib.h |