brintos

brintos / llvm-project-archived public Read only

0
0
Text · 736 B · 198a476 Raw
25 lines · plain
1; RUN: mlir-translate -import-llvm -split-input-file %s | FileCheck %s2 3define void @deref(i64 %0, ptr %1) {4  ; CHECK: llvm.inttoptr5  ; CHECK-SAME: dereferenceable<bytes = 4>6  %3 = inttoptr i64 %0 to ptr, !dereferenceable !07  ; CHECK: llvm.load8  ; CHECK-SAME: dereferenceable<bytes = 8>9  %4 = load ptr, ptr %1, align 8, !dereferenceable !110  ret void11}12 13define void @deref_or_null(i64 %0, ptr %1) {14  ; CHECK: llvm.inttoptr15  ; CHECK-SAME: dereferenceable<bytes = 4, mayBeNull = true>16  %3 = inttoptr i64 %0 to ptr, !dereferenceable_or_null !017  ; CHECK: llvm.load18  ; CHECK-SAME: dereferenceable<bytes = 8, mayBeNull = true>19  %4 = load ptr, ptr %1, align 8, !dereferenceable_or_null !120  ret void21}22 23!0 = !{i64 4}24!1 = !{i64 8}25