brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · a2690b9 Raw
48 lines · plain
1; RUN: opt -aa-pipeline=basic-aa -passes='print<memoryssa>,verify<memoryssa>' -disable-output < %s 2>&1 | FileCheck %s2 3; This testcase is reduced from SingleSource/Benchmarks/Misc/fbench.c4; It is testing to make sure that the MemorySSA use optimizer5; comes up with right answers when dealing with multiple MemoryLocations6; over different blocks. See PR28880 for more details.7@global = external hidden unnamed_addr global double, align 88@global.1 = external hidden unnamed_addr global double, align 89 10; Function Attrs: nounwind ssp uwtable11define hidden fastcc void @hoge(i1 %arg) unnamed_addr {12bb:13  br i1 %arg, label %bb1, label %bb214 15bb1:                                              ; preds = %bb16; These accesses should not conflict.17; CHECK:  1 = MemoryDef(liveOnEntry)18; 1 = MemoryDef(liveOnEntry)19; CHECK-NEXT:   store double undef, ptr @global, align 820  store double undef, ptr @global, align 821; CHECK:  MemoryUse(liveOnEntry)22; MemoryUse(liveOnEntry)23; CHECK-NEXT:   %tmp = load double, ptr @global.1, align 824  %tmp = load double, ptr @global.1, align 825  unreachable26 27bb2:                                              ; preds = %bb28  br label %bb329 30bb3:                                              ; preds = %bb231  br i1 %arg, label %bb4, label %bb632 33bb4:                                              ; preds = %bb334; These accesses should conflict.35; CHECK:  2 = MemoryDef(liveOnEntry)36; 2 = MemoryDef(liveOnEntry)37; CHECK-NEXT:   store double 0.000000e+00, ptr @global.1, align 838  store double 0.000000e+00, ptr @global.1, align 839; CHECK:  MemoryUse(2)40; MemoryUse(2)41; CHECK-NEXT:   %tmp5 = load double, ptr @global.1, align 842  %tmp5 = load double, ptr @global.1, align 843  unreachable44 45bb6:                                              ; preds = %bb346  unreachable47}48