/llvm-project/llvm/test/Analysis/BasicAA/ |
H A D | args-rets-allocas-loads.ll | 171 ; CHECK: Both ModRef: Ptr: ptr* %indirect_a0 <-> %normal_ret_a0 = call ptr @normal_returner() 172 ; CHECK: Both ModRef: Ptr: ptr* %indirect_a1 <-> %normal_ret_a0 = call ptr @normal_returner() 173 ; CHECK: Both ModRef: Ptr: double* %loaded_a0 <-> %normal_ret_a0 = call ptr @normal_returner() 174 ; CHECK: Both ModRef: Ptr: double* %loaded_a1 <-> %normal_ret_a0 = call ptr @normal_returner() 175 ; CHECK: Both ModRef: Ptr: double* %arg_a0 <-> %normal_ret_a0 = call ptr @normal_returner() 176 ; CHECK: Both ModRef: Ptr: double* %arg_a1 <-> %normal_ret_a0 = call ptr @normal_returner() 179 ; CHECK: Both ModRef: Ptr: double* %escape_alloca_a0 <-> %normal_ret_a0 = call ptr @normal_return… 180 ; CHECK: Both ModRef: Ptr: double* %escape_alloca_a1 <-> %normal_ret_a0 = call ptr @normal_return… 183 ; CHECK: Both ModRef: Ptr: double* %normal_ret_a0 <-> %normal_ret_a0 = call ptr @normal_returner() 184 ; CHECK: Both ModRef: Ptr: double* %normal_ret_a1 <-> %normal_ret_a0 = call ptr @normal_returner() [all …]
|
H A D | cs-cs.ll | 22 ; CHECK: Both ModRef: Ptr: i8* %P <-> tail call void @llvm.memcpy.p0.p0.i64(ptr %P, ptr %Q,… 23 ; CHECK: Both ModRef: Ptr: i8* %Q <-> tail call void @llvm.memcpy.p0.p0.i64(ptr %P, ptr %Q,… 24 ; CHECK: Both ModRef: Ptr: i8* %P <-> tail call void @llvm.memcpy.p0.p0.i64(ptr %P, ptr %Q,… 25 ; CHECK: Both ModRef: Ptr: i8* %Q <-> tail call void @llvm.memcpy.p0.p0.i64(ptr %P, ptr %Q,… 26 ; CHECK: Both ModRef: tail call void @llvm.memcpy.p0.p0.i64(ptr %P, ptr %Q, i64 12, i1 false) <… 27 ; CHECK: Both ModRef: tail call void @llvm.memcpy.p0.p0.i64(ptr %P, ptr %Q, i64 12, i1 false) <… 40 ; CHECK: Both ModRef: Ptr: i8* %P <-> tail call void @llvm.memcpy.element.unordered.atomic.… 41 ; CHECK: Both ModRef: Ptr: i8* %Q <-> tail call void @llvm.memcpy.element.unordered.atomic.… 42 ; CHECK: Both ModRef: Ptr: i8* %P <-> tail call void @llvm.memcpy.element.unordered.atomic.… 43 ; CHECK: Both ModRef: Ptr: i8* %Q <-> tail call void @llvm.memcpy.element.unordered.atomic.… [all …]
|
H A D | constant-memory.ll | 60 ; CHECK: Both ModRef: Ptr: i32* %p <-> call void @foo(ptr %p) 70 ; CHECK: Both ModRef: Ptr: i32* %p <-> call void @foo(ptr %p) 80 ; CHECK: Both ModRef: Ptr: i32* %p <-> call void @foo(ptr %p) 90 ; CHECK: Both ModRef: Ptr: i32* %p <-> call void @foo(ptr %p)
|
H A D | assume.ll | 19 ; CHECK: Both ModRef: Ptr: i8* %P <-> tail call void @llvm.memcpy.p0.p0.i64(ptr %P, ptr %Q, i64 1… 20 ; CHECK: Both ModRef: Ptr: i8* %Q <-> tail call void @llvm.memcpy.p0.p0.i64(ptr %P, ptr %Q, i64 1… 38 ; CHECK: Both ModRef: Ptr: i8* %P <-> tail call void @llvm.memcpy.p0.p0.i64(ptr %P, ptr %Q, i64 1… 39 ; CHECK: Both ModRef: Ptr: i8* %Q <-> tail call void @llvm.memcpy.p0.p0.i64(ptr %P, ptr %Q, i64 1…
|
H A D | call-attrs.ll | 45 ; CHECK: Both ModRef: Ptr: i8* %p <-> call void @read_write(ptr %p, ptr %p, ptr %p) 47 ; CHECK: Both ModRef: Ptr: i8* %p <-> call void @writeonly_attr(ptr %p) [ "deopt"(ptr %p) ]
|
H A D | noalias-scope-decl.ll | 19 ; CHECK: Both ModRef: Ptr: i8* %P <-> tail call void @llvm.memcpy.p0.p0.i64(ptr %P, ptr %Q, i64 1… 20 ; CHECK: Both ModRef: Ptr: i8* %Q <-> tail call void @llvm.memcpy.p0.p0.i64(ptr %P, ptr %Q, i64 1…
|
H A D | guards.ll | 19 ; CHECK: Both ModRef: Ptr: i8* %P <-> tail call void @llvm.memcpy.p0.p0.i64(ptr %P, ptr %Q, i64 … 20 ; CHECK: Both ModRef: Ptr: i8* %Q <-> tail call void @llvm.memcpy.p0.p0.i64(ptr %P, ptr %Q, i64 …
|
H A D | deoptimize.ll | 24 ; CHECK: Both ModRef: Ptr: i8* %A <-> call void @llvm.memcpy.p0.p0.i64(ptr %A, ptr %B, i64 -1, i1… 43 ; CHECK: Both ModRef: Ptr: i8* %A <-> call void @llvm.memmove.p0.p0.i64(ptr %A, ptr %B, i64 -1, i…
|
H A D | tail-byval.ll |
|
H A D | pr52735.ll | 14 ; CHECK: Both ModRef: Ptr: i32* %v <-> callbr void asm "movl $$1, $0", "=*m,!i,~{dirflag},~{fpsr}…
|
/llvm-project/llvm/lib/Analysis/ |
H A D | AliasAnalysis.cpp | 157 ModRefInfo Result = ModRefInfo::ModRef; in getModRefInfoMask() 171 ModRefInfo Result = ModRefInfo::ModRef; in getArgModRefInfo() 197 // If this is a fence, just return ModRef. in getModRefInfo() 199 return ModRefInfo::ModRef; in getModRefInfo() 207 return ModRefInfo::ModRef; in getModRefInfo() 214 ModRefInfo Result = ModRefInfo::ModRef; in getModRefInfo() 256 // Apply the ModRef mask. This ensures that if Loc is a constant memory in getModRefInfo() 267 ModRefInfo Result = ModRefInfo::ModRef; in getModRefInfo() 323 ArgMask = ModRefInfo::ModRef; in getModRefInfo() 435 return ModRefInfo::ModRef; in operator <<() [all...] |
H A D | ScopedNoAliasAA.cpp | 79 return ModRefInfo::ModRef; in getModRefInfo() 89 return ModRefInfo::ModRef; in getModRefInfo() 96 return ModRefInfo::ModRef; in getModRefInfo() 106 return ModRefInfo::ModRef; in getModRefInfo()
|
H A D | TypeBasedAliasAnalysis.cpp | 392 return ModRefInfo::ModRef; in getModRefInfoMask() 396 return ModRefInfo::ModRef; in getModRefInfoMask() 404 return ModRefInfo::ModRef; in getModRefInfoMask() 430 return ModRefInfo::ModRef; in getModRefInfo() 437 return ModRefInfo::ModRef; in getModRefInfo() 444 return ModRefInfo::ModRef; in getModRefInfo() 451 return ModRefInfo::ModRef; in getModRefInfo()
|
H A D | GlobalsModRef.cpp | 94 static_assert((MayReadAnyGlobal & static_cast<int>(ModRefInfo::ModRef)) == 0, 96 static_assert(((MayReadAnyGlobal | static_cast<int>(ModRefInfo::ModRef)) >> 134 return ModRefInfo(I & static_cast<int>(ModRefInfo::ModRef)); in globalClearMayReadAnyGlobal() 549 FI.addModRefInfo(ModRefInfo::ModRef); in AnalyzeCallGraph() 909 Call->onlyReadsMemory() ? ModRefInfo::Ref : ModRefInfo::ModRef; in getModRefInfoForArgument() 938 ModRefInfo Known = ModRefInfo::ModRef; in getModRefInfo()
|
H A D | BasicAliasAnalysis.cpp | 777 return ModRefInfo::ModRef; in getModRefInfoMask() 793 return ModRefInfo::ModRef; in getModRefInfoMask() 799 return ModRefInfo::ModRef; in getModRefInfoMask() 804 return ModRefInfo::ModRef; in getModRefInfoMask() 842 MemoryEffects::inaccessibleMemOnly(ModRefInfo::ModRef); 859 return ModRefInfo::ModRef; in getArgModRefInfo() 973 // Setting ModRef will not yield an early return below, MustAlias is not in getModRefInfo() 975 Result = ModRefInfo::ModRef; in getModRefInfo() 1025 return ModRefInfo::ModRef; in getModRefInfo() 1053 return ModRefInfo::ModRef; in getModRefInfo() [all...] |
H A D | AliasAnalysisEvaluator.cpp | 230 case ModRefInfo::ModRef: in runInternal() 258 case ModRefInfo::ModRef: in runInternal()
|
/llvm-project/llvm/include/llvm/Support/ |
H A D | ModRef.h | 1 //===--- ModRef.h - Memory effect modeling ----------------------*- C++ -*-===// 35 ModRef = Ref | Mod, enumerator 36 LLVM_MARK_AS_BITMASK_ENUM(ModRef), 46 return MRI == ModRefInfo::ModRef; in isModAndRefSet() 113 return MemoryEffectsBase(ModRefInfo::ModRef); in unknown() 132 static MemoryEffectsBase argMemOnly(ModRefInfo MR = ModRefInfo::ModRef) { 138 inaccessibleMemOnly(ModRefInfo MR = ModRefInfo::ModRef) { 145 inaccessibleOrArgMemOnly(ModRefInfo MR = ModRefInfo::ModRef) {
|
/llvm-project/mlir/lib/Dialect/LLVMIR/IR/ |
H A D | LLVMAttrs.cpp | 139 return MemoryEffectsAttr::get(context, ModRefInfo::ModRef, 140 ModRefInfo::ModRef, ModRefInfo::ModRef); in get() 148 if (this->getArgMem() != ModRefInfo::ModRef) in parseExpressionArg() 150 if (this->getInaccessibleMem() != ModRefInfo::ModRef) in parseExpressionArg() 152 if (this->getOther() != ModRefInfo::ModRef) in parseExpressionArg()
|
/llvm-project/mlir/test/Analysis/ |
H A D | test-alias-analysis-modref.mlir | 45 // CHECK-DAG: if -> func.region0#0: ModRef 46 // CHECK-DAG: if -> func.region0#1: ModRef 50 // CHECK-DAG: if -> alloc#0: ModRef 63 // CHECK-DAG: unknown -> func.region0#0: ModRef
|
/llvm-project/llvm/unittests/Analysis/ |
H A D | AliasAnalysisTest.cpp | 200 EXPECT_EQ(AA.getModRefInfo(VAArg1, MemoryLocation()), ModRefInfo::ModRef); in TEST_F() 201 EXPECT_EQ(AA.getModRefInfo(VAArg1, std::nullopt), ModRefInfo::ModRef); in TEST_F() 202 EXPECT_EQ(AA.getModRefInfo(CmpXChg1, MemoryLocation()), ModRefInfo::ModRef); in TEST_F() 203 EXPECT_EQ(AA.getModRefInfo(CmpXChg1, std::nullopt), ModRefInfo::ModRef); in TEST_F() 204 EXPECT_EQ(AA.getModRefInfo(AtomicRMW, MemoryLocation()), ModRefInfo::ModRef); in TEST_F() 205 EXPECT_EQ(AA.getModRefInfo(AtomicRMW, std::nullopt), ModRefInfo::ModRef); in TEST_F()
|
/llvm-project/mlir/include/mlir/Analysis/ |
H A D | AliasAnalysis.h | 102 ModRef = Ref | Mod, enumerator 123 static ModRefResult getModAndRef() { return Kind::ModRef; } in getModAndRef() 142 [[nodiscard]] bool isModAndRef() const { return kind == Kind::ModRef; } in isModAndRef()
|
/llvm-project/mlir/lib/Analysis/ |
H A D | AliasAnalysis.cpp | 66 case Kind::ModRef: in print()
|
/llvm-project/llvm/lib/Target/NVPTX/ |
H A D | NVPTXAliasAnalysis.cpp | 116 return ModRefInfo::ModRef;
|
/llvm-project/llvm/include/llvm/Analysis/ |
H A D | AliasAnalysis.h | 46 #include "llvm/Support/ModRef.h" 413 /// Returns a bitmask that should be unconditionally applied to the ModRef 415 /// from the ModRef info based on the knowledge that the memory location 429 /// Get the ModRef info associated with a pointer argument of a call. The 430 /// result's bits are set to indicate the allowed aliasing ModRef kinds. Note 726 /// Returns a bitmask that should be unconditionally applied to the ModRef 728 /// the ModRef info based on the knowledge that the memory location points to 734 /// Get the ModRef info associated with a pointer argument of a callsite. The 735 /// result's bits are set to indicate the allowed aliasing ModRef kinds. Note 839 return ModRefInfo::ModRef; [all...] |
/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUAliasAnalysis.cpp | 117 return ModRefInfo::ModRef;
|