| /llvm-project-15.0.7/llvm/test/CodeGen/WebAssembly/ |
| H A D | externref-tableget.ll | 7 define %externref @get_externref_from_table(i32 %i) { 14 %ref = load %externref, ptr addrspace(1) %p 15 ret %externref %ref 25 %ref = load %externref, ptr addrspace(1) %p 26 ret %externref %ref 39 %ref = load %externref, ptr addrspace(1) %p 40 ret %externref %ref 54 %ref = load %externref, ptr addrspace(1) %p 55 ret %externref %ref 71 %ref = load %externref, ptr addrspace(1) %p [all …]
|
| H A D | externref-tableset.ll | 3 %externref = type ptr addrspace(10) ;; addrspace 10 is nonintegral 7 define void @set_externref_table(%externref %g, i32 %i) { 9 ; CHECK-NEXT: .functype set_externref_table (externref, i32) -> () 17 store %externref %g, ptr addrspace(1) %p 21 define void @set_externref_table_const(%externref %g) { 29 store %externref %g, ptr addrspace(1) %p 44 store %externref %g, ptr addrspace(1) %p 59 store %externref %g, ptr addrspace(1) %p 77 store %externref %g, ptr addrspace(1) %p 92 store %externref %g, ptr addrspace(1) %p [all …]
|
| H A D | table-fill.ll | 3 %externref = type ptr addrspace(10) ;; addrspace 10 is nonintegral 5 @externref_table = local_unnamed_addr addrspace(1) global [0 x %externref] undef 7 declare void @llvm.wasm.table.fill.externref(ptr addrspace(1), i32, %externref, i32) nounwind reado… 9 define void @table_fill(i32 %start, i32 %len, %externref %val) { 11 ; CHECK-NEXT: .functype table_fill (i32, i32, externref) -> () 17 %tableptr = getelementptr [0 x %externref], ptr addrspace(1) @externref_table, i32 0, i32 0 18 …call void @llvm.wasm.table.fill.externref(ptr addrspace(1) %tableptr, i32 %start, %externref %val,…
|
| H A D | table-grow.ll | 3 %externref = type ptr addrspace(10) ;; addrspace 10 is nonintegral 5 @externref_table = local_unnamed_addr addrspace(1) global [0 x %externref] undef 7 declare i32 @llvm.wasm.table.grow.externref(ptr addrspace(1), %externref, i32) nounwind readonly 8 declare %externref @llvm.wasm.ref.null.extern() nounwind readonly 17 %null = call %externref @llvm.wasm.ref.null.extern() 18 %tableptr = getelementptr [0 x %externref], ptr addrspace(1) @externref_table, i32 0, i32 0 19 …%newsz = call i32 @llvm.wasm.table.grow.externref(ptr addrspace(1) %tableptr, %externref %null, i3…
|
| H A D | ref-null.ll | 4 %externref = type ptr addrspace(10) ;; addrspace 10 is nonintegral 7 declare %externref @llvm.wasm.ref.null.extern() nounwind 9 declare i32 @llvm.wasm.ref.is_null.extern(%externref) nounwind 12 define %externref @get_null_extern() { 14 ; CHECK: .functype get_null_extern () -> (externref) 18 %null = call %externref @llvm.wasm.ref.null.extern() 19 ret %externref %null 32 define i32 @ref_is_null_extern(%externref %eref) { 34 ; CHECK: .functype ref_is_null_extern (externref) -> (i32) 42 %null = call %externref @llvm.wasm.ref.null.extern() [all …]
|
| H A D | externref-inttoptr.ll | 3 %externref = type ptr addrspace(10) 5 define %externref @int_to_externref(i32 %i) { 6 %ref = inttoptr i32 %i to %externref 7 ret %externref %ref 12 ; CHECK-NEXT: .functype int_to_externref (i32) -> (externref) 13 ; CHECK-NEXT: .local externref
|
| H A D | externref-globalget.ll | 3 %externref = type ptr addrspace(10) ;; addrspace 10 is nonintegral 5 @externref_global = local_unnamed_addr addrspace(1) global %externref undef 7 define %externref @return_externref_global() { 9 %ref = load %externref, ptr addrspace(1) @externref_global 10 ret %externref %ref 14 ; CHECK-NEXT: functype return_externref_global () -> (externref)
|
| H A D | externref-globalset.ll | 3 %externref = type ptr addrspace(10) ;; addrspace 10 is nonintegral 5 @externref_global = local_unnamed_addr addrspace(1) global %externref undef 7 define void @set_externref_global(%externref %g) { 8 ;; this generates a global.set of @externref.global 9 store %externref %g, ptr addrspace(1) @externref_global 14 ; CHECK-NEXT: functype set_externref_global (externref) -> ()
|
| H A D | table-types.ll | 3 %externref = type ptr addrspace(10) ;; addrspace 10 is nonintegral 6 ; CHECK: .tabletype eref_table, externref 9 @eref_table = local_unnamed_addr addrspace(1) global [0 x %externref] undef 12 ; CHECK: .tabletype .Lprivate_eref_table, externref 14 @private_eref_table = private local_unnamed_addr addrspace(1) global [0 x %externref] undef 16 ; CHECK: .tabletype extern_eref_table, externref 19 @extern_eref_table = external addrspace(1) global [0 x %externref]
|
| H A D | externref-ptrtoint.ll | 3 %externref = type ptr addrspace(10) 5 define i32 @externref_to_int(%externref %ref) { 6 %i = ptrtoint %externref %ref to i32 11 ; CHECK-NEXT: .functype externref_to_int (externref) -> (i32)
|
| H A D | table-copy.ll | 3 %externref = type ptr addrspace(10) ;; addrspace 10 is nonintegral 5 @externref_table1 = local_unnamed_addr addrspace(1) global [0 x %externref] undef 6 @externref_table2 = local_unnamed_addr addrspace(1) global [0 x %externref] undef 18 %tableptr1 = getelementptr [0 x %externref], ptr addrspace(1) @externref_table1, i32 0, i32 0 19 %tableptr2 = getelementptr [0 x %externref], ptr addrspace(1) @externref_table2, i32 0, i32 0 37 %tableptr1 = getelementptr [0 x %externref], ptr addrspace(1) @externref_table1, i32 0, i32 0
|
| H A D | externref-unsized-load.ll | 3 %externref = type ptr addrspace(10) 5 define void @load_extern(%externref %ref) { 6 %e = load %extern, %externref %ref
|
| H A D | externref-unsized-store.ll | 3 %externref = type ptr addrspace(10) 5 define void @store_extern(%externref %ref) { 6 store %extern undef, %externref %ref
|
| H A D | reg-copy.mir | 74 ; CHECK-NEXT: %0:externref = COPY_EXTERNREF %1:externref 77 %0:externref = COPY %1:externref
|
| H A D | table-size.ll | 3 %externref = type ptr addrspace(10) ;; addrspace 10 is nonintegral 5 @externref_table = local_unnamed_addr addrspace(1) global [0 x %externref] undef 14 %tableptr = getelementptr [0 x %externref], ptr addrspace(1) @externref_table, i32 0, i32 0
|
| H A D | reg-argument.mir | 65 ; CHECK-NEXT: %1:externref = ARGUMENT_externref 0 68 %1:externref = ARGUMENT_externref 0, implicit $arguments
|
| /llvm-project-15.0.7/llvm/test/MC/WebAssembly/ |
| H A D | reference-types.s | 33 # CHECK-NEXT: .functype ref_sig_test_externref (externref) -> (externref) 35 .functype ref_sig_test_externref (externref) -> (externref) 41 # CHECK: externref.select # encoding: [0x1b] 52 externref.select 58 # CHECK: block externref 60 .functype ref_block_test () -> (externref, funcref) 62 block externref
|
| H A D | externref.s | 3 # Tests use of externref type, including storing it in a global 5 .globaltype my_global, externref 9 .functype read_externref () -> (externref) 15 .functype write_externref (externref) -> ()
|
| H A D | typechecking-else.s | 5 .tabletype objects,externref 11 .functype handle_value (i32) -> (externref) 15 if externref
|
| H A D | tables.s | 7 # CHECK: .tabletype foo, externref 9 .tabletype foo, externref 47 # CHECK-NEXT: .functype table_get (i32) -> (externref) 54 .functype table_get (i32) -> (externref) 62 # CHECK-NEXT: .functype table_set (i32, externref) -> () 70 .functype table_set (i32, externref) -> ()
|
| H A D | type-checker-errors.s | 106 .tabletype valid_table, externref 135 # CHECK: :[[@LINE+1]]:3: error: empty stack while popping externref 140 .functype table_set_empty_stack_while_popping_2 (externref) -> () 149 # CHECK: :[[@LINE+1]]:3: error: popped funcref, expected externref 182 # CHECK: :[[@LINE+1]]:3: error: empty stack while popping externref 187 .functype table_fill_empty_stack_while_popping_3 (i32, externref) -> () 205 # CHECK: [[@LINE+1]]:3: error: popped funcref, expected externref
|
| /llvm-project-15.0.7/lld/test/wasm/ |
| H A D | externref.s | 5 # Tests use of externref type, including storing it in a global 7 .globaltype my_global, externref 11 .functype read_externref () -> (externref) 17 .functype write_externref (externref) -> ()
|
| H A D | duplicate-table-imports.s | 16 # Imported as an externref instead of funcref, so should not be de-duped. 17 .tabletype t3, externref
|
| /llvm-project-15.0.7/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyRegisterInfo.td | 47 def EXTERNREF_0 : WebAssemblyReg<"%externref.0">; 69 def EXTERNREF : WebAssemblyRegClass<[externref], 0, (add EXTERNREF_0)>;
|
| /llvm-project-15.0.7/llvm/lib/Target/WebAssembly/Utils/ |
| H A D | WebAssemblyTypeUtilities.cpp | 71 .Case("externref", MVT::externref) in parseMVT() 144 case MVT::externref: in toValType()
|