Differential D114480 Diff 389327 llvm/test/Analysis/LoopAccessAnalysis/memcheck-wrapping-pointers.ll
Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/Analysis/LoopAccessAnalysis/memcheck-wrapping-pointers.ll
Show All 23 Lines | |||||
; i64 {(4 + %b),+,4}<%for.body> | ; i64 {(4 + %b),+,4}<%for.body> | ||||
; CHECK-LABEL: test1 | ; CHECK-LABEL: test1 | ||||
; CHECK: Memory dependences are safe with run-time checks | ; CHECK: Memory dependences are safe with run-time checks | ||||
; CHECK-NEXT: Dependences: | ; CHECK-NEXT: Dependences: | ||||
; CHECK-NEXT: Run-time memory checks: | ; CHECK-NEXT: Run-time memory checks: | ||||
; CHECK-NEXT: Check 0: | ; CHECK-NEXT: Check 0: | ||||
; CHECK-NEXT: Comparing group | ; CHECK-NEXT: Comparing group | ||||
; CHECK-NEXT: %arrayidx = getelementptr inbounds i32, i32* %a, i64 %idxprom | |||||
; CHECK-NEXT: Against group | |||||
; CHECK-NEXT: %arrayidx4 = getelementptr inbounds i32, i32* %b, i64 %conv11 | ; CHECK-NEXT: %arrayidx4 = getelementptr inbounds i32, i32* %b, i64 %conv11 | ||||
; CHECK-NEXT: Against group | |||||
; CHECK-NEXT: %arrayidx = getelementptr inbounds i32, i32* %a, i64 %idxprom | |||||
; CHECK-NEXT: Grouped accesses: | ; CHECK-NEXT: Grouped accesses: | ||||
; CHECK-NEXT: Group | ; CHECK-NEXT: Group | ||||
; CHECK-NEXT: (Low: (4 + %a) High: (4 + (4 * (1 umax %x)) + %a)) | |||||
; CHECK-NEXT: Member: {(4 + %a),+,4}<%for.body> | |||||
; CHECK-NEXT: Group | |||||
; CHECK-NEXT: (Low: %b High: ((4 * (1 umax %x)) + %b)) | ; CHECK-NEXT: (Low: %b High: ((4 * (1 umax %x)) + %b)) | ||||
; CHECK-NEXT: Member: {%b,+,4}<%for.body> | ; CHECK-NEXT: Member: {%b,+,4}<%for.body> | ||||
; CHECK-NEXT: Group | |||||
; CHECK-NEXT: (Low: (4 + %a) High: (4 + (4 * (1 umax %x)) + %a)) | |||||
; CHECK-NEXT: Member: {(4 + %a),+,4}<%for.body> | |||||
; CHECK: Non vectorizable stores to invariant address were not found in loop. | ; CHECK: Non vectorizable stores to invariant address were not found in loop. | ||||
; CHECK-NEXT: SCEV assumptions: | ; CHECK-NEXT: SCEV assumptions: | ||||
; CHECK-NEXT: {1,+,1}<%for.body> Added Flags: <nusw> | ; CHECK-NEXT: {1,+,1}<%for.body> Added Flags: <nusw> | ||||
; CHECK-NEXT: {0,+,1}<%for.body> Added Flags: <nusw> | ; CHECK-NEXT: {0,+,1}<%for.body> Added Flags: <nusw> | ||||
; CHECK: Expressions re-written: | ; CHECK: Expressions re-written: | ||||
; CHECK-NEXT: [PSE] %arrayidx = getelementptr inbounds i32, i32* %a, i64 %idxprom: | ; CHECK-NEXT: [PSE] %arrayidx = getelementptr inbounds i32, i32* %a, i64 %idxprom: | ||||
; CHECK-NEXT: ((4 * (zext i32 {1,+,1}<%for.body> to i64))<nuw><nsw> + %a)<nuw> | ; CHECK-NEXT: ((4 * (zext i32 {1,+,1}<%for.body> to i64))<nuw><nsw> + %a)<nuw> | ||||
; CHECK-NEXT: --> {(4 + %a),+,4}<%for.body> | ; CHECK-NEXT: --> {(4 + %a),+,4}<%for.body> | ||||
▲ Show 20 Lines • Show All 58 Lines • Show Last 20 Lines |