File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -1187,7 +1187,7 @@ AliasResult BasicAAResult::aliasGEP(
1187
1187
// so noalias still holds so long as the dependency distance is at least as
1188
1188
// big as the typesize.
1189
1189
if (VLeftSize.hasValue () &&
1190
- Scale.uge (VLeftSize.getValue ().getKnownMinValue ()))
1190
+ Scale.abs (). uge (VLeftSize.getValue ().getKnownMinValue ()))
1191
1191
return AliasResult::NoAlias;
1192
1192
}
1193
1193
Original file line number Diff line number Diff line change @@ -458,6 +458,17 @@ define void @vscale_v1v2types(ptr %p) {
458
458
ret void
459
459
}
460
460
461
+ ; CHECK-LABEL: vscale_negativescale
462
+ ; CHECK-DAG: MayAlias: <vscale x 4 x i32>* %p, <vscale x 4 x i32>* %vm16
463
+ define void @vscale_negativescale (ptr %p ) vscale_range(1 ,16 ) {
464
+ %v = call i64 @llvm.vscale.i64 ()
465
+ %vm = mul nsw i64 %v , -15
466
+ %vm16 = getelementptr i8 , ptr %p , i64 %vm
467
+ load <vscale x 4 x i32 >, ptr %vm16
468
+ load <vscale x 4 x i32 >, ptr %p
469
+ ret void
470
+ }
471
+
461
472
; CHECK-LABEL: twovscales
462
473
; CHECK-DAG: MayAlias: <vscale x 4 x i32>* %vp161, <vscale x 4 x i32>* %vp162
463
474
; CHECK-DAG: MayAlias: <vscale x 4 x i32>* %vp161, <vscale x 4 x i32>* %vp161b
You can’t perform that action at this time.
0 commit comments