| ; RUN: opt -basicaa -aa-eval -print-all-alias-modref-info -disable-output < %s 2>&1 | FileCheck %s | |
| ; Check that BasicAA falls back to MayAlias (instead of PartialAlias) when none | |
| ; of its little tricks are applicable. | |
| ; CHECK: MayAlias: float* %arrayidxA, float* %arrayidxB | |
| define void @fallback_mayalias(float* noalias nocapture %C, i64 %i, i64 %j) local_unnamed_addr { | |
| entry: | |
| %shl = shl i64 %i, 3 | |
| %mul = shl nsw i64 %j, 4 | |
| %addA = add nsw i64 %mul, %shl | |
| %orB = or i64 %shl, 1 | |
| %addB = add nsw i64 %mul, %orB | |
| %arrayidxA = getelementptr inbounds float, float* %C, i64 %addA | |
| store float undef, float* %arrayidxA, align 4 | |
| %arrayidxB = getelementptr inbounds float, float* %C, i64 %addB | |
| store float undef, float* %arrayidxB, align 4 | |
| ret void | |
| } |