| ; RUN: if [ %llvmver -lt 16 ]; then %opt < %s %loadEnzyme -print-activity-analysis -activity-analysis-func=matvec -o /dev/null | FileCheck %s; fi | |
| ; RUN: %opt < %s %newLoadEnzyme -passes="print-activity-analysis" -activity-analysis-func=matvec -S | FileCheck %s | |
| define void @matvec(i32* %ptr, i32 %v) { | |
| %l = load i32, i32* %ptr, align 4, !tbaa !2 | |
| %aa = atomicrmw volatile add i32* %ptr, i32 -1 acq_rel | |
| ret void | |
| } | |
| !llvm.module.flags = !{!0} | |
| !llvm.ident = !{!1} | |
| !0 = !{i32 1, !"wchar_size", i32 4} | |
| !1 = !{!"clang version 7.1.0 "} | |
| !2 = !{!3, !3, i64 0, i64 4} | |
| !3 = !{!4, i64 4, !"long"} | |
| !4 = !{!5, i64 1, !"omnipotent char"} | |
| !5 = !{!"Simple C++ TBAA"} | |
| ; CHECK: %l = load i32, i32* %ptr, align 4, !tbaa !2: icv:1 ici:1 | |
| ; CHECK-NEXT: %aa = atomicrmw volatile add i32* %ptr, i32 -1 acq_rel{{(, align 4)?}}: icv:1 ici:1 | |
| ; CHECK-NEXT: ret void: icv:1 ici:1 |