| /llvm-project-15.0.7/llvm/test/Analysis/MemorySSA/ |
| H A D | invariant-groups.ll | 11 ; CHECK: 2 = MemoryDef(1) 29 ; CHECK: 2 = MemoryDef(1) 47 ; CHECK: 2 = MemoryDef(1) 52 ; CHECK: 3 = MemoryDef(2) 71 ; CHECK: 2 = MemoryDef(1) 88 ; CHECK: 2 = MemoryDef(1) 106 ; CHECK: 2 = MemoryDef(1) 135 ; CHECK: 2 = MemoryDef(1) 153 ; CHECK: 2 = MemoryDef(1) 157 ; CHECK: 3 = MemoryDef(2) [all …]
|
| H A D | print-walker.ll | 4 ; CHECK: 1 = MemoryDef(liveOnEntry)->liveOnEntry - clobbered by liveOnEntry 6 ; CHECK: 2 = MemoryDef(1)->liveOnEntry - clobbered by liveOnEntry 8 ; CHECK: MemoryUse(1) MustAlias - clobbered by 1 = MemoryDef(liveOnEntry)->liveOnEntry 10 ; CHECK: MemoryUse(2) MustAlias - clobbered by 2 = MemoryDef(1)->liveOnEntry 12 ; CHECK: 3 = MemoryDef(2)->liveOnEntry - clobbered by liveOnEntry 14 ; CHECK: 4 = MemoryDef(3)->3 MustAlias - clobbered by 3 = MemoryDef(2)->liveOnEntry 16 ; CHECK: MemoryUse(4) MustAlias - clobbered by 4 = MemoryDef(3)->3 MustAlias 18 ; CHECK: MemoryUse(4) MustAlias - clobbered by 4 = MemoryDef(3)->3 MustAlias
|
| H A D | atomic-clobber.ll | 7 ; CHECK: 1 = MemoryDef(liveOnEntry) 10 ; CHECK: 2 = MemoryDef(1) 25 ; CHECK: 1 = MemoryDef(liveOnEntry) 28 ; CHECK: 2 = MemoryDef(1) 31 ; CHECK: 3 = MemoryDef(2) 45 ; CHECK: 2 = MemoryDef(1) 60 ; CHECK: 2 = MemoryDef(1) 67 ; CHECK: 3 = MemoryDef(2) 74 ; CHECK: 4 = MemoryDef(3) 89 ; CHECK: 2 = MemoryDef(1) [all …]
|
| H A D | function-mem-attrs.ll | 11 ; CHECK: 1 = MemoryDef(liveOnEntry) 16 ; CHECK: 2 = MemoryDef(1) 29 ; Verify that noattrsFunction is otherwise a MemoryDef 30 ; CHECK: 3 = MemoryDef(2) 40 ; CHECK: 1 = MemoryDef(liveOnEntry) 44 ; CHECK: 2 = MemoryDef(1) 53 ; CHECK: 3 = MemoryDef(2)
|
| H A D | volatile-clobber.ll | 8 ; CHECK: 1 = MemoryDef(liveOnEntry) 11 ; CHECK: 2 = MemoryDef(1) 14 ; CHECK: 3 = MemoryDef(2) 17 ; CHECK: 4 = MemoryDef(3) 31 ; CHECK: 1 = MemoryDef(liveOnEntry) 42 ; CHECK: 2 = MemoryDef(1) 60 ; CHECK: 1 = MemoryDef(liveOnEntry) 67 ; CHECK: 2 = MemoryDef(1) 84 ; CHECK: 3 = MemoryDef(2)
|
| H A D | many-dom-backedge.ll | 25 ; CHECK: 1 = MemoryDef(9) 31 ; CHECK: 2 = MemoryDef(9) 37 ; CHECK: 3 = MemoryDef(9) 44 ; CHECK: 4 = MemoryDef(10) 50 ; CHECK: 5 = MemoryDef(9) 60 ; CHECK: 6 = MemoryDef(8) 71 ; CHECK: 7 = MemoryDef(6)
|
| H A D | many-doms.ll | 24 ; CHECK: 1 = MemoryDef(8) 30 ; CHECK: 2 = MemoryDef(8) 36 ; CHECK: 3 = MemoryDef(8) 42 ; CHECK: 4 = MemoryDef(8) 48 ; CHECK: 5 = MemoryDef(8) 58 ; CHECK: 6 = MemoryDef(7)
|
| H A D | no-disconnected.ll | 5 ; MemoryDef(liveOnEntry) and 4 = MemoryDef(liveOnEntry) Both would mean both 16 ; CHECK: 1 = MemoryDef(liveOnEntry) 19 ; CHECK: 2 = MemoryDef(1) 25 ; CHECK: 3 = MemoryDef(liveOnEntry) 28 ; CHECK: 4 = MemoryDef(3)
|
| H A D | print-dot-cfg-mssa.ll | 87 …, fillcolor=lightpink,label="{bb1:.*1 = MemoryDef(liveOnEntry).*2 = MemoryDef(1).*3 = MemoryDef(2)… 88 ; CHECK: {{[shape=record,style=filled, fillcolor=lightpink,label="{if.then:.*5 = MemoryDef(4).*}"]}} 90 ; CHECK: {{[shape=record,style=filled, fillcolor=lightpink,label="{if.else:.*6 = MemoryDef(4).*}"]}} 91 …hi({bb2,5},{if.else,6})/*MemoryUse(2).*MemoryUse(10).*MemoryUse(1).*7 = MemoryDef(10).*MemoryUse(1… 93 ; CHECK: {{[shape=record,style=filled, fillcolor=lightpink,label="{bb3:.*8 = MemoryDef(7).*}"]}}
|
| H A D | phi-translation.ll | 17 ; CHECK: 2 = MemoryDef(1) 44 ; CHECK: 2 = MemoryDef(1) 51 ; CHECK: 3 = MemoryDef(7) 58 ; CHECK: 4 = MemoryDef(5) 88 ; CHECK: 2 = MemoryDef(1) 94 ; CHECK: 3 = MemoryDef(1) 101 ; CHECK: 4 = MemoryDef(6) 108 ; CHECK: 5 = MemoryDef(7) 132 ; CHECK: 2 = MemoryDef(6) 139 ; CHECK: 3 = MemoryDef(5) [all …]
|
| H A D | function-clobber.ll | 13 ; CHECK: 1 = MemoryDef(liveOnEntry) 17 ; CHECK: 2 = MemoryDef(1) 33 ; CHECK: 1 = MemoryDef(liveOnEntry) 42 ; CHECK: 2 = MemoryDef(1)
|
| H A D | optimize-use.ll | 7 ; CHECK: 1 = MemoryDef(liveOnEntry) 11 ; CHECK: 2 = MemoryDef(1) 15 ; CHECK: 3 = MemoryDef(2) 18 ; CHECK: 4 = MemoryDef(3)
|
| H A D | pr28880.ll | 17 ; CHECK: 1 = MemoryDef(liveOnEntry) 18 ; 1 = MemoryDef(liveOnEntry) 35 ; CHECK: 2 = MemoryDef(liveOnEntry) 36 ; 2 = MemoryDef(liveOnEntry)
|
| H A D | load-invariant.ll | 12 ; CHECK: 1 = MemoryDef(liveOnEntry) 23 ; CHECK: 1 = MemoryDef(liveOnEntry) 27 ; CHECK: 2 = MemoryDef(1)
|
| H A D | constant-memory.ll | 11 ; CHECK: 1 = MemoryDef(liveOnEntry) 28 ; CHECK: 1 = MemoryDef(liveOnEntry) 32 ; CHECK: 2 = MemoryDef(1)
|
| H A D | lifetime-simple.ll | 7 ; CHECK: 1 = MemoryDef(liveOnEntry) 13 ; CHECK: 2 = MemoryDef(1) 16 ; CHECK: 3 = MemoryDef(2)
|
| H A D | cyclicphi.ll | 21 ; CHECK: 1 = MemoryDef(3) 51 ; CHECK: 1 = MemoryDef(3) 81 ; CHECK: 1 = MemoryDef(3) 112 ; CHECK: 1 = MemoryDef(3) 119 ; CHECK: 2 = MemoryDef(4) 143 ; CHECK: 1 = MemoryDef(3)
|
| H A D | multiple-backedges-hal.ll | 37 ; CHECK: 1 = MemoryDef(liveOnEntry) 47 ; CHECK: 2 = MemoryDef(5) 59 ; CHECK: 3 = MemoryDef(4)
|
| H A D | pr45927.ll | 23 ; CHECK-NEXT: ; [[NO6:.*]] = MemoryDef([[NO5]]) 25 ; CHECK-NEXT: ; [[NO2:.*]] = MemoryDef([[NO6]]) 36 ; CHECK-NEXT: ; [[NO7:.*]] = MemoryDef([[NO5]]) 44 ; CHECK-NEXT: ; [[NO3:.*]] = MemoryDef([[NO4]])
|
| /llvm-project-15.0.7/llvm/docs/ |
| H A D | MemorySSA.rst | 46 - ``MemoryDef`` 62 b = MemoryDef(a) 63 c = MemoryDef(b) 64 d = MemoryDef(c) 69 initially every ``MemoryDef`` clobbers every other ``MemoryDef``. 77 and ``MemoryDef``\ s. 135 ; 2 = MemoryDef(6) 140 ; 3 = MemoryDef(6) 148 ; 4 = MemoryDef(5) 219 ; 2 = MemoryDef(1) [all …]
|
| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | MemorySSA.h | 209 friend class MemoryDef; 386 class MemoryDef final : public MemoryUseOrDef { 436 struct OperandTraits<MemoryDef> : public FixedNumOperandTraits<MemoryDef, 2> {}; 444 return OperandTraits<MemoryDef>::op_begin(cast<MemoryDef>(MUD)); 450 return OperandTraits<MemoryDef>::op_end(cast<MemoryDef>(MUD)); 456 return OperandTraits<MemoryDef>::operands(cast<MemoryDef>(MUD)); 678 if (const auto *MD = dyn_cast<MemoryDef>(this)) 684 if (const auto *MD = dyn_cast<MemoryDef>(this)) 690 if (const auto *MD = dyn_cast<MemoryDef>(this)) 696 if (auto *MD = dyn_cast<MemoryDef>(this)) [all …]
|
| /llvm-project-15.0.7/llvm/unittests/Analysis/ |
| H A D | MemorySSATest.cpp | 141 Updater.insertDef(cast<MemoryDef>(EntryStoreAccess)); in TEST_F() 231 Updater.insertDef(cast<MemoryDef>(StoreAccess)); in TEST_F() 505 MemoryDef *StoreAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreInst)); in TEST_F() 552 MemoryDef *StoreAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreInst)); in TEST_F() 1071 MemoryDef *MemDef = dyn_cast_or_null<MemoryDef>(MSSA.getMemoryAccess(V)); in TEST_F() 1176 MemoryDef *MemDef = dyn_cast_or_null<MemoryDef>(MSSA.getMemoryAccess(V)); in TEST_F() 1190 MemoryDef *MemDef = dyn_cast_or_null<MemoryDef>(MSSA.getMemoryAccess(V)); in TEST_F() 1388 llvm::sort(Defs, [](const MemoryDef *LHS, const MemoryDef *RHS) { in TEST_F() 1393 auto SortedUserList = [&](const MemoryDef *MD) { in TEST_F() 1394 std::vector<const MemoryDef *> Result; in TEST_F() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | MemCpyOptimizer.cpp | 405 MemoryDef *LastMemDef = nullptr; in tryMergingIntoMemset() 411 if (auto *CurrentDef = dyn_cast<MemoryDef>(CurrentAcc)) in tryMergingIntoMemset() 517 cast<MemoryDef>(MemInsertPoint->getMemoryInst() == &*BI in tryMergingIntoMemset() 821 auto *StoreDef = cast<MemoryDef>(MSSA->getMemoryAccess(SI)); in processStore() 1182 assert(isa<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(M))); in processMemCpyMemCpyDependence() 1185 MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/true); in processMemCpyMemCpyDependence() 1292 MemoryDef *Def, Value *Size) { in hasUndefContents() 1370 if (auto *MD = dyn_cast<MemoryDef>(Clobber)) in performMemCpyToMemSetOptzn() 1439 if (auto *MD = dyn_cast<MemoryDef>(DestClobber)) in processMemCpy() 1455 if (auto *MD = dyn_cast<MemoryDef>(SrcClobber)) { in processMemCpy() [all …]
|
| H A D | DeadStoreElimination.cpp | 754 SmallVector<MemoryDef *, 64> MemDefs; 803 auto *MD = dyn_cast_or_null<MemoryDef>(MA); in DSEState() 1051 bool isWriteAtEndOfFunction(MemoryDef *Def) { in isWriteAtEndOfFunction() 1093 if (MemoryDef *UseDef = dyn_cast<MemoryDef>(UseAccess)) in isWriteAtEndOfFunction() 1278 MemoryDef *CurrentDef = cast<MemoryDef>(Current); in getDomMemoryDef() 1491 if (MemoryDef *UseDef = dyn_cast<MemoryDef>(UseAccess)) { in getDomMemoryDef() 1603 if (MemoryDef *MD = dyn_cast<MemoryDef>(MA)) { in deleteDeadInstruction() 1789 auto *NewAccessMD = cast<MemoryDef>(NewAccess); in tryFoldIntoCalloc() 1858 assert(isa<MemoryDef>(Current) && in storeIsNoop() 1909 MemoryDef *UpperDef; in eliminateRedundantStoresOfExistingValues() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/AMDGPU/Utils/ |
| H A D | AMDGPUMemoryUtils.h | 23 class MemoryDef; variable 41 bool isReallyAClobber(const Value *Ptr, MemoryDef *Def, AAResults *AA);
|