Author: Nikita Popov Date: 2020-12-01T18:20:34+01:00 New Revision: 54eab293f523956bdc4b1a98b6cf5abc0bd1ef3f
URL: https://github.com/llvm/llvm-project/commit/54eab293f523956bdc4b1a98b6cf5abc0bd1ef3f DIFF: https://github.com/llvm/llvm-project/commit/54eab293f523956bdc4b1a98b6cf5abc0bd1ef3f.diff LOG: [BasicAA] Add test for suboptimal result with unknown sizes (NFC) Added: Modified: llvm/test/Analysis/BasicAA/phi-aa.ll Removed: ################################################################################ diff --git a/llvm/test/Analysis/BasicAA/phi-aa.ll b/llvm/test/Analysis/BasicAA/phi-aa.ll index aa2e078000a7..f5492e6fb00f 100644 --- a/llvm/test/Analysis/BasicAA/phi-aa.ll +++ b/llvm/test/Analysis/BasicAA/phi-aa.ll @@ -150,3 +150,26 @@ loop: store i32 0, i32* %p2 br label %loop } + +; CHECK-LABEL: phi_and_gep_unknown_size +; CHECK: Just Mod: call void @llvm.memset.p0i8.i32(i8* %g, i8 0, i32 %size, i1 false) <-> call void @llvm.memset.p0i8.i32(i8* %z, i8 0, i32 %size, i1 false) +; TODO: This should be NoModRef. +define void @phi_and_gep_unknown_size(i1 %c, i8* %x, i8* %y, i8* noalias %z, i32 %size) { +entry: + br i1 %c, label %true, label %false + +true: + br label %exit + +false: + br label %exit + +exit: + %p = phi i8* [ %x, %true ], [ %y, %false ] + %g = getelementptr inbounds i8, i8* %p, i64 1 + call void @llvm.memset.p0i8.i32(i8* %g, i8 0, i32 %size, i1 false) + call void @llvm.memset.p0i8.i32(i8* %z, i8 0, i32 %size, i1 false) + ret void +} + +declare void @llvm.memset.p0i8.i32(i8*, i8, i32, i1) _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits