llvm-project
7c660995 - [msan] Simplify 'maskedCheckAVXIndexShadow' (#147839)

Commit
119 days ago
[msan] Simplify 'maskedCheckAVXIndexShadow' (#147839) The current instrumentation has more or and element extraction than a coal mine: ``` [[TMP10:%.*]] = extractelement <16 x i32> [[TMP9]], i64 0 [[TMP11:%.*]] = and i32 [[TMP10]], 15 [[TMP43:%.*]] = or i32 [[TMP10]], [[TMP11]] [[TMP12:%.*]] = extractelement <16 x i32> [[TMP9]], i64 1 [[TMP13:%.*]] = and i32 [[TMP12]], 15 [[TMP44:%.*]] = or i32 [[TMP12]], [[TMP13]] ... [[TMP40:%.*]] = extractelement <16 x i32> [[TMP9]], i64 15 [[TMP41:%.*]] = and i32 [[TMP40]], 15 [[TMP57:%.*]] = or i32 [[TMP40]], [[TMP41]] [[_MSCMP:%.*]] = icmp ne i32 [[TMP57]], 0 br i1 [[_MSCMP]], label [[TMP102:%.*]], label [[TMP103:%.*]], !prof [[PROF1]] ``` Simplify it to: ``` [[TMP10:%.*]] = trunc <16 x i32> [[T]] to <16 x i4> [[TMP12:%.*]] = bitcast <16 x i4> [[TMP10]] to i64 [[_MSCMP:%.*]] = icmp ne i64 [[TMP12]], 0 br i1 [[_MSCMP]], label %[[BB13:.*]], label %[[BB14:.*]], !prof [[PROF1]] ```
Author
Parents
Loading