/llvm-project/llvm/test/Transforms/InstCombine/ |
H A D | element-atomic-memintrins.ll | 11 call void @llvm.memset.element.unordered.atomic.p0.i32(ptr align 1 %dest, i8 1, i32 0, i32 1) 17 ; CHECK-NEXT: store atomic i8 1, ptr [[DEST:%.*]] unordered, align 1 18 ; CHECK-NEXT: call void @llvm.memset.element.unordered.atomic.p0.i32(ptr nonnull align 1 [[DEST]… 19 ; CHECK-NEXT: call void @llvm.memset.element.unordered.atomic.p0.i32(ptr nonnull align 1 [[DEST]… 20 ; CHECK-NEXT: call void @llvm.memset.element.unordered.atomic.p0.i32(ptr nonnull align 1 [[DEST]… 21 ; CHECK-NEXT: call void @llvm.memset.element.unordered.atomic.p0.i32(ptr nonnull align 1 [[DEST]… 24 call void @llvm.memset.element.unordered.atomic.p0.i32(ptr align 1 %dest, i8 1, i32 1, i32 1) 25 call void @llvm.memset.element.unordered.atomic.p0.i32(ptr align 1 %dest, i8 1, i32 2, i32 1) 26 call void @llvm.memset.element.unordered.atomic.p0.i32(ptr align 1 %dest, i8 1, i32 4, i32 1) 27 call void @llvm.memset.element.unordered.atomic.p0.i32(ptr align 1 %dest, i8 1, i32 8, i32 1) [all …]
|
H A D | atomic.ll | 57 %y = load atomic i32, ptr %p unordered, align 4 67 ; CHECK-NEXT: [[X:%.*]] = load atomic i32, ptr [[P:%.*]] unordered, align 4 71 %x = load atomic i32, ptr %p unordered, align 4 80 ; CHECK-NEXT: [[X:%.*]] = load atomic i32, ptr [[P:%.*]] unordered, align 4 84 %x = load atomic i32, ptr %p unordered, align 4 85 %y = load atomic i32, ptr %p unordered, align 4 118 ; An unordered access to null is still unreachable. There's no 125 %x = load atomic i32, ptr null unordered, align 4 131 ; CHECK-NEXT: [[X:%.*]] = load atomic i32, ptr null unordered, align 4 134 %x = load atomic i32, ptr null unordered, align 4 [all …]
|
H A D | store.ll | 223 store atomic i32 0, ptr %p unordered, align 4 230 ; CHECK-NEXT: store atomic i32 0, ptr [[P:%.*]] unordered, align 4 234 store atomic i32 0, ptr %p unordered, align 4 240 ; CHECK-NEXT: store atomic i32 0, ptr [[P:%.*]] unordered, align 4 243 store atomic i32 0, ptr %p unordered, align 4 244 store atomic i32 0, ptr %p unordered, align 4 248 ; Implementation limit - could remove unordered store here, but 252 ; CHECK-NEXT: store atomic i32 0, ptr [[P:%.*]] unordered, align 4 256 store atomic i32 0, ptr %p unordered, align 4 274 %v = load atomic i32, ptr %p unordered, align 4 [all …]
|
/llvm-project/llvm/test/Verifier/ |
H A D | element-wise-atomic-memory-intrinsics.ll | 6 …; CHECK-NEXT: call void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr align 4 %P, ptr align … 7 …call void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr align 4 %P, ptr align 4 %Q, i32 1, i… 10 …call void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr align 4 %P, ptr align 4 %Q, i32 1, i… 12 …call void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr align 4 %P, ptr align 4 %Q, i32 7, i… 15 call void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr %P, ptr align 4 %Q, i32 1, i32 1) 17 …call void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr align 1 %P, ptr align 4 %Q, i32 4, i… 20 call void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr align 4 %P, ptr %Q, i32 1, i32 1) 22 …call void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr align 4 %P, ptr align 1 %Q, i32 4, i… 27 declare void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr nocapture, ptr nocapture, i32, i32… 32 …; CHECK-NEXT: call void @llvm.memmove.element.unordered.atomic.p0.p0.i32(ptr align 4 %P, ptr align… [all …]
|
/llvm-project/llvm/test/CodeGen/X86/GlobalISel/ |
H A D | select-memop-scalar-unordered.mir | 9 %r = load atomic i8, ptr %p1 unordered, align 1 14 %r = load atomic i16, ptr %p1 unordered, align 2 19 %r = load atomic i32, ptr %p1 unordered, align 4 24 %r = load atomic i64, ptr %p1 unordered, align 8 29 %r = load atomic float, ptr %p1 unordered, align 4 34 %r = load atomic float, ptr %p1 unordered, align 8 39 %r = load atomic double, ptr %p1 unordered, align 8 44 %r = load atomic double, ptr %p1 unordered, align 8 49 store atomic i32 %val, ptr %p1 unordered, align 4 54 store atomic i64 %val, ptr %p1 unordered, align 8 [all …]
|
/llvm-project/llvm/test/Analysis/BasicAA/ |
H A D | atomic-memory-intrinsics.ll | 3 declare void @llvm.memset.element.unordered.atomic.p0.i32(ptr, i8, i64, i32) 7 ; CHECK: Just Mod: Ptr: i8* %a <-> call void @llvm.memset.element.unordered.atomic.p0.i64(p… 8 ; CHECK-NEXT: Just Mod: Ptr: i8* %a.gep.1 <-> call void @llvm.memset.element.unordered.atomic.p0… 9 ; CHECK-NEXT: NoModRef: Ptr: i8* %a.gep.5 <-> call void @llvm.memset.element.unordered.atomic.p0… 13 call void @llvm.memset.element.unordered.atomic.p0.i32(ptr align 1 %a, i8 0, i64 4, i32 1) 23 ; CHECK: Just Mod: Ptr: i8* %a <-> call void @llvm.memset.element.unordered.atomic.p0.i64(p… 24 ; CHECK-NEXT: Just Mod: Ptr: i8* %a.gep.1 <-> call void @llvm.memset.element.unordered.atomic.p0… 25 ; CHECK-NEXT: Just Mod: Ptr: i8* %a.gep.5 <-> call void @llvm.memset.element.unordered.atomic.p0… 29 call void @llvm.memset.element.unordered.atomic.p0.i32(ptr align 1 %a, i8 0, i64 %n, i32 1) 37 declare void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr nocapture writeonly, ptr nocapture… [all …]
|
/llvm-project/llvm/test/Analysis/MemoryDependenceAnalysis/ |
H A D | reorder-over-store-atomic.ll | 9 ; CHECK-NEXT: [[L1:%.*]] = load atomic i32, ptr @w unordered, align 4 11 ; CHECK-NEXT: [[L2:%.*]] = load atomic i32, ptr @w unordered, align 4 16 %l1 = load atomic i32, ptr @w unordered, align 4 18 %l2 = load atomic i32, ptr @w unordered, align 4 26 ; CHECK-NEXT: [[L1:%.*]] = load atomic i32, ptr @w unordered, align 4 28 ; CHECK-NEXT: [[L2:%.*]] = load atomic i32, ptr @w unordered, align 4 33 %l1 = load atomic i32, ptr @w unordered, align 4 35 %l2 = load atomic i32, ptr @w unordered, align 4 46 %l1 = load atomic i32, ptr @w unordered, align 4 48 %l2 = load atomic i32, ptr @w unordered, align 4 [all …]
|
H A D | memdep_with_tbaa.ll | 8 ; CHECK-NEXT: [[TMP:%.*]] = load atomic ptr addrspace(1), ptr [[ARG:%.*]] unordered, align 8 10 ; CHECK-NEXT: store atomic i64 0, ptr addrspace(1) [[TMP5]] unordered, align 8 16 ; CHECK-NEXT: [[TMP9:%.*]] = load atomic ptr addrspace(1), ptr [[ARG]] unordered, align 8 24 ; CHECK-NEXT: store atomic i64 1, ptr addrspace(1) [[TMP14]] unordered, align 8 38 ; CHECK-NEXT: [[TMP22]] = load atomic i64, ptr addrspace(1) [[TMP21]] unordered, align 8, !tbaa … 42 ; CHECK-NEXT: [[TMP25:%.*]] = load atomic i64, ptr addrspace(1) [[TMP24]] unordered, align 8 47 ; CHECK-NEXT: [[TMP27]] = load atomic ptr addrspace(1), ptr [[ARG]] unordered, align 8 49 ; CHECK-NEXT: [[TMP29:%.*]] = load atomic i64, ptr addrspace(1) [[TMP28]] unordered, align 8 51 ; CHECK-NEXT: store atomic i64 [[TMP29]], ptr addrspace(1) [[TMP30]] unordered, align 4 55 %tmp = load atomic ptr addrspace(1), ptr %arg unordered, align 8 [all …]
|
/llvm-project/llvm/test/Transforms/DeadStoreElimination/ |
H A D | OverwriteStoreBegin.ll | 63 ; CHECK-NEXT: call void @llvm.memset.element.unordered.atomic.p0.i64(ptr align 4 [[TMP0]], i8 0,… 65 ; CHECK-NEXT: store atomic i32 1, ptr [[ARRAYIDX1]] unordered, align 4 70 …call void @llvm.memset.element.unordered.atomic.p0.i64(ptr align 4 %arrayidx0, i8 0, i64 28, i32 4) 72 store atomic i32 1, ptr %arrayidx1 unordered, align 4 94 ; CHECK-NEXT: call void @llvm.memset.element.unordered.atomic.p0.i64(ptr align 4 [[TMP0]], i8 0,… 95 ; CHECK-NEXT: store atomic i32 1, ptr [[P]] unordered, align 4 99 call void @llvm.memset.element.unordered.atomic.p0.i64(ptr align 4 %p, i8 0, i64 28, i32 4) 100 store atomic i32 1, ptr %p unordered, align 4 109 ; CHECK-NEXT: call void @llvm.memset.element.unordered.atomic.p0.i64(ptr align 4 [[TMP0]], i8 0,… 114 call void @llvm.memset.element.unordered.atomic.p0.i64(ptr align 4 %p, i8 0, i64 28, i32 4) [all …]
|
H A D | OverwriteStoreEnd.ll | 32 ; CHECK-NEXT: call void @llvm.memset.element.unordered.atomic.p0.i64(ptr align 4 [[ARRAYIDX0]], … 34 ; CHECK-NEXT: store atomic i32 1, ptr [[ARRAYIDX1]] unordered, align 4 39 …call void @llvm.memset.element.unordered.atomic.p0.i64(ptr align 4 %arrayidx0, i8 0, i64 28, i32 4) 41 store atomic i32 1, ptr %arrayidx1 unordered, align 4 50 ; CHECK-NEXT: call void @llvm.memset.element.unordered.atomic.p0.i64(ptr align 4 [[ARRAYIDX0]], … 57 …call void @llvm.memset.element.unordered.atomic.p0.i64(ptr align 4 %arrayidx0, i8 0, i64 28, i32 4) 81 ; CHECK-NEXT: call void @llvm.memset.element.unordered.atomic.p0.i64(ptr align 4 [[P:%.*]], i8 0… 83 ; CHECK-NEXT: store atomic i32 1, ptr [[ARRAYIDX1]] unordered, align 4 87 call void @llvm.memset.element.unordered.atomic.p0.i64(ptr align 4 %p, i8 0, i64 32, i32 4) 89 store atomic i32 1, ptr %arrayidx1 unordered, align 4 [all …]
|
H A D | memcpy-complete-overwrite.ll | 9 declare void @llvm.memset.element.unordered.atomic.p0.i64(ptr nocapture, i8, i64, i32) nounwind 11 declare void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr nocapture, ptr nocapture, i64, i32… 29 ; CHECK-NEXT: tail call void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr align 1 [[P:%.*… 32 …tail call void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr align 1 %P, ptr align 1 %Q, i64… 33 …tail call void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr align 1 %P, ptr align 1 %Q, i64… 40 ; CHECK-NEXT: tail call void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr align 1 [[P:%.*… 44 …tail call void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr align 1 %P, ptr align 1 %Q, i64… 54 …tail call void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr align 1 %P, ptr align 1 %Q, i64… 73 ; CHECK-NEXT: tail call void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr align 1 [[P:%.*… 76 …tail call void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr align 1 %P, ptr align 1 %Q, i64… [all …]
|
H A D | memintrinsics.ll | 58 declare void @llvm.memcpy.element.unordered.atomic.p0.p0.i16(ptr nocapture, ptr nocapture, i16, i32… 59 declare void @llvm.memmove.element.unordered.atomic.p0.p0.i16(ptr nocapture, ptr nocapture, i16, i3… 60 declare void @llvm.memset.element.unordered.atomic.p0.i16(ptr nocapture, i8, i16, i32) nounwind 70 store atomic i16 0, ptr %A unordered, align 2 ;; Written to by memcpy 71 store atomic i16 0, ptr %B unordered, align 2 ;; Read by memcpy 73 …call void @llvm.memcpy.element.unordered.atomic.p0.p0.i16(ptr align 2 %A, ptr align 2 %B, i16 1024… 85 store atomic i16 0, ptr %A unordered, align 2 ;; Written to by memmove 86 store atomic i16 0, ptr %B unordered, align 2 ;; Read by memmove 88 …call void @llvm.memmove.element.unordered.atomic.p0.p0.i16(ptr align 2 %A, ptr align 2 %B, i16 102… 101 store atomic i16 0, ptr %A unordered, align 2 ;; Written to by memset [all …]
|
/llvm-project/libcxx/test/std/language.support/cmp/cmp.partialord/ |
H A D | partialord.pass.cpp | 28 DoNotOptimize(&std::partial_ordering::unordered); in test_static_members() 65 auto& Unord = std::partial_ordering::unordered; in test_constexpr() 114 {std::partial_ordering::unordered, ER_Unord} in test_constexpr() 146 std::partial_ordering::unordered); in test_constexpr() 155 std::partial_ordering::unordered); in test_constexpr() 164 std::partial_ordering::unordered); in test_constexpr() 166 static_assert(std::partial_ordering::unordered != in test_constexpr() 168 static_assert(std::partial_ordering::unordered != in test_constexpr() 170 static_assert(std::partial_ordering::unordered != in test_constexpr() 172 static_assert(std::partial_ordering::unordered == in test_constexpr() [all …]
|
/llvm-project/llvm/test/Transforms/InferAlignment/ |
H A D | atomic.ll | 10 ; CHECK-NEXT: [[X_0:%.*]] = load atomic i32, ptr null unordered, align 4294967296 15 %x.0 = load atomic i32, ptr null unordered, align 4 23 ; CHECK-NEXT: store atomic i32 0, ptr null unordered, align 4294967296 28 store atomic i32 0, ptr null unordered, align 4 41 ; CHECK-NEXT: [[X_0:%.*]] = load atomic i32, ptr @c unordered, align 8 46 %x.0 = load atomic i32, ptr @c unordered, align 4 54 ; CHECK-NEXT: store atomic i32 0, ptr @c unordered, align 8 59 store atomic i32 0, ptr @c unordered, align 4 72 ; CHECK-NEXT: [[X_0:%.*]] = load atomic i32, ptr [[ALLOCA]] unordered, align 4 78 %x.0 = load atomic i32, ptr %alloca unordered, align 1 [all …]
|
/llvm-project/llvm/test/CodeGen/X86/ |
H A D | atomic-unordered.ll | 15 %v = load atomic i8, ptr %ptr unordered, align 1 30 store atomic i8 %v, ptr %ptr unordered, align 1 44 %v = load atomic i16, ptr %ptr unordered, align 2 60 store atomic i16 %v, ptr %ptr unordered, align 2 69 %v = load atomic i32, ptr %ptr unordered, align 4 78 store atomic i32 %v, ptr %ptr unordered, align 4 87 %v = load atomic i64, ptr %ptr unordered, align 8 96 store atomic i64 %v, ptr %ptr unordered, align 8 119 %v = load atomic i64, ptr %ptr unordered, align 8 121 store atomic i64 %v.new, ptr %ptr unordered, align 8 [all …]
|
H A D | element-wise-atomic-memory-intrinsics.ll | 17 …call void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr align 4 %P, ptr align 4 %Q, i32 1024… 35 …call void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr align 4 %P, ptr align 4 %Q, i32 1024… 53 …call void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr align 4 %P, ptr align 4 %Q, i32 1024… 71 …call void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr align 8 %P, ptr align 8 %Q, i32 1024… 89 …call void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr align 16 %P, ptr align 16 %Q, i32 10… 114 …call void @llvm.memcpy.element.unordered.atomic.p0.p0.i32(ptr align 4 %Dst, ptr align 4 %Src, i32 … 131 …call void @llvm.memmove.element.unordered.atomic.p0.p0.i32(ptr align 4 %P, ptr align 4 %Q, i32 102… 149 …call void @llvm.memmove.element.unordered.atomic.p0.p0.i32(ptr align 4 %P, ptr align 4 %Q, i32 102… 167 …call void @llvm.memmove.element.unordered.atomic.p0.p0.i32(ptr align 4 %P, ptr align 4 %Q, i32 102… 185 …call void @llvm.memmove.element.unordered.atomic.p0.p0.i32(ptr align 8 %P, ptr align 8 %Q, i32 102… [all …]
|
/llvm-project/llvm/test/Instrumentation/DataFlowSanitizer/ |
H A D | unordered_atomic_mem_intrins.ll | 11 declare void @llvm.memset.element.unordered.atomic.p0.i64(ptr nocapture writeonly, i8, i64, i32) no… 12 declare void @llvm.memmove.element.unordered.atomic.p0.p0.i64(ptr nocapture writeonly, ptr nocaptur… 13 declare void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr nocapture writeonly, ptr nocapture… 17 …; CHECK: call void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr align 1 %0, ptr align 1 %1,… 19 …call void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr align 1 %0, ptr align 1 %1, i64 16, … 25 …; CHECK: call void @llvm.memmove.element.unordered.atomic.p0.p0.i64(ptr align 1 %0, ptr align 1 %1… 27 …call void @llvm.memmove.element.unordered.atomic.p0.p0.i64(ptr align 1 %0, ptr align 1 %1, i64 16,… 33 …; CHECK: call void @llvm.memset.element.unordered.atomic.p0.i64(ptr align 1 %0, i8 88, i64 16, i32… 35 call void @llvm.memset.element.unordered.atomic.p0.i64(ptr align 1 %0, i8 88, i64 16, i32 1)
|
/llvm-project/llvm/test/Transforms/GVN/PRE/ |
H A D | atomic.ll | 10 ; GVN across unordered store (allowed) 16 ; CHECK-NEXT: store atomic i32 [[X]], ptr @x unordered, align 4 22 store atomic i32 %x, ptr @x unordered, align 4 28 ; GVN across unordered load (allowed) 34 ; CHECK-NEXT: [[Y:%.*]] = load atomic i32, ptr @x unordered, align 4 41 %y = load atomic i32, ptr @x unordered, align 4 48 ; GVN load to unordered load (allowed) 53 ; CHECK-NEXT: [[X:%.*]] = load atomic i32, ptr @x unordered, align 4 58 %x = load atomic i32, ptr @x unordered, align 4 64 ; GVN unordered load to load (unordered load must not be removed) [all …]
|
/llvm-project/llvm/test/CodeGen/AArch64/ |
H A D | relaxed-fp-atomics.ll | 11 %val_regoff = load atomic float, ptr %ptr_regoff unordered, align 4 21 %val_unscaled = load atomic float, ptr %ptr_unscaled unordered, align 4 35 %val_regoff = load atomic double, ptr %ptr_regoff unordered, align 8 45 %val_unscaled = load atomic double, ptr %ptr_unscaled unordered, align 8 59 store atomic float %val, ptr %ptr_regoff unordered, align 4 67 store atomic float %val, ptr %ptr_unscaled unordered, align 4 80 store atomic double %val, ptr %ptr_regoff unordered, align 8 84 store atomic double %val, ptr %ptr_regoff64 unordered, align 8 101 %val_regoff = load atomic half, ptr %ptr_regoff unordered, align 4 111 %val_unscaled = load atomic half, ptr %ptr_unscaled unordered, align 4 [all …]
|
/llvm-project/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/ |
H A D | three_way.pass.cpp | 113 assert((T1(nan) <=> T2(nan)) == std::partial_ordering::unordered); in test() 119 assert((T1(nan, 2) <=> T2(nan, 2)) == std::partial_ordering::unordered); in test() 120 assert((T1(1, nan) <=> T2(1, nan)) == std::partial_ordering::unordered); in test() 126 assert((T1(nan, 2, 3) <=> T2(nan, 2, 3)) == std::partial_ordering::unordered); in test() 127 assert((T1(1, nan, 3) <=> T2(1, nan, 3)) == std::partial_ordering::unordered); in test() 128 assert((T1(1, 2, nan) <=> T2(1, 2, nan)) == std::partial_ordering::unordered); in test() 206 assert((T1(nan) <=> T2(1)) == std::partial_ordering::unordered); in test() 213 assert((T1(nan, 2) <=> T2(1, 2)) == std::partial_ordering::unordered); in test() 214 assert((T1(1, nan) <=> T2(1, 2)) == std::partial_ordering::unordered); in test() 221 assert((T1(nan, 2, 3) <=> T2(1, 2, 3)) == std::partial_ordering::unordered); in test() [all …]
|
/llvm-project/llvm/test/Transforms/RewriteStatepointsForGC/ |
H A D | unordered-atomic-memcpy.ll | 8 declare void @llvm.memcpy.element.unordered.atomic.p1.p1.i32(ptr addrspace(1), ptr addrspace(1), i3… 9 declare void @llvm.memmove.element.unordered.atomic.p1.p1.i32(ptr addrspace(1), ptr addrspace(1), i… 17 ; CHECK-NEXT: call void @llvm.memcpy.element.unordered.atomic.p1.p1.i32(ptr addrspace(1) align 1… 18 ; CHECK-NEXT: call void @llvm.memcpy.element.unordered.atomic.p1.p1.i32(ptr addrspace(1) align 1… 19 ; CHECK-NEXT: call void @llvm.memcpy.element.unordered.atomic.p1.p1.i32(ptr addrspace(1) align 1… 20 ; CHECK-NEXT: call void @llvm.memcpy.element.unordered.atomic.p1.p1.i32(ptr addrspace(1) align 1… 21 ; CHECK-NEXT: call void @llvm.memcpy.element.unordered.atomic.p1.p1.i32(ptr addrspace(1) align 1… 28 …call void @llvm.memcpy.element.unordered.atomic.p1.p1.i32(ptr addrspace(1) align 16 %src_derived, … 29 …call void @llvm.memcpy.element.unordered.atomic.p1.p1.i32(ptr addrspace(1) align 16 %src_derived, … 30 …call void @llvm.memcpy.element.unordered.atomic.p1.p1.i32(ptr addrspace(1) align 16 %src_derived, … [all …]
|
/llvm-project/llvm/test/Transforms/EarlyCSE/ |
H A D | atomics.ll | 32 ; atomic to unordered atomic forwarding is legal 39 %b = load atomic i32, ptr %P1 unordered, align 4 45 ; than unordered 66 ; CHECK-NEXT: [[B:%.*]] = load atomic i32, ptr [[P1]] unordered, align 4 71 %b = load atomic i32, ptr %P1 unordered, align 4 209 ; Can DSE a normal store in favor of a unordered one 212 ; CHECK-NEXT: store atomic i32 3, ptr [[P1:%.*]] unordered, align 4 216 store atomic i32 3, ptr %P1 unordered, align 4 220 ; Can also DSE a unordered store in favor of a normal one 226 store atomic i32 3, ptr %P1 unordered, align 4 [all …]
|
/llvm-project/llvm/test/Transforms/LoopIdiom/X86/ |
H A D | unordered-atomic-memcpy.ll | 12 ; CHECK-NEXT: call void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr align 1 [[DEST]], pt… 18 ; CHECK-NEXT: [[V:%.*]] = load atomic i8, ptr [[I_0_014]] unordered, align 1 34 %V = load atomic i8, ptr %I.0.014 unordered, align 1 35 store atomic i8 %V, ptr %DestI unordered, align 1 50 ; CHECK-NEXT: call void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr align 1 [[DEST]], pt… 73 store atomic i8 %V, ptr %DestI unordered, align 1 88 ; CHECK-NEXT: call void @llvm.memcpy.element.unordered.atomic.p0.p0.i64(ptr align 1 [[DEST]], pt… 111 store atomic i8 %V, ptr %DestI unordered, align 1 132 ; CHECK-NEXT: store atomic i32 [[V]], ptr [[DESTI]] unordered, align 4 149 store atomic i32 %V, ptr %DestI unordered, align 4 [all …]
|
/llvm-project/llvm/test/Transforms/AtomicExpand/X86/ |
H A D | expand-atomic-non-integer.ll | 9 ; CHECK: %1 = load atomic i32, ptr %ptr unordered, align 4 12 %res = load atomic float, ptr %ptr unordered, align 4 27 ; CHECK: %1 = load atomic volatile i32, ptr %ptr unordered, align 4 30 %res = load atomic volatile float, ptr %ptr unordered, align 4 36 ; CHECK: %1 = load atomic i32, ptr addrspace(1) %ptr unordered, align 4 39 %res = load atomic float, ptr addrspace(1) %ptr unordered, align 4 46 ; CHECK: store atomic i32 %1, ptr %ptr unordered, align 4 47 store atomic float %v, ptr %ptr unordered, align 4 62 ; CHECK: store atomic volatile i32 %1, ptr %ptr unordered, align 4 63 store atomic volatile float %v, ptr %ptr unordered, align 4 [all …]
|
/llvm-project/llvm/test/Instrumentation/ThreadSanitizer/ |
H A D | atomic-non-integer.ll | 6 %v = load atomic float, ptr %fptr unordered, align 4 14 %v = load atomic double, ptr %fptr unordered, align 8 22 %v = load atomic fp128, ptr %fptr unordered, align 16 30 store atomic float %v, ptr %fptr unordered, align 4 38 store atomic double %v, ptr %fptr unordered, align 8 46 store atomic fp128 %v, ptr %fptr unordered, align 16
|