| /llvm-project-15.0.7/llvm/test/CodeGen/WebAssembly/ |
| H A D | funcref-tableget.ll | 7 define %funcref @get_funcref_from_table(i32 %i) { 14 %ref = load %funcref, ptr addrspace(1) %p 15 ret %funcref %ref 25 %ref = load %funcref, ptr addrspace(1) %p 26 ret %funcref %ref 39 %ref = load %funcref, ptr addrspace(1) %p 40 ret %funcref %ref 54 %ref = load %funcref, ptr addrspace(1) %p 55 ret %funcref %ref 71 %ref = load %funcref, ptr addrspace(1) %p [all …]
|
| H A D | funcref-tableset.ll | 3 %funcref = type ptr addrspace(20) ;; addrspace 20 is nonintegral 7 define void @set_funcref_table(%funcref %g, i32 %i) { 9 ; CHECK-NEXT: .functype set_funcref_table (funcref, i32) -> () 17 store %funcref %g, ptr addrspace(1) %p 21 define void @set_funcref_table_const(%funcref %g) { 29 store %funcref %g, ptr addrspace(1) %p 33 define void @set_funcref_table_with_offset(%funcref %g, i32 %i) { 44 store %funcref %g, ptr addrspace(1) %p 59 store %funcref %g, ptr addrspace(1) %p 77 store %funcref %g, ptr addrspace(1) %p [all …]
|
| H A D | ref-null.ll | 5 %funcref = type ptr addrspace(20) ;; addrspace 20 is nonintegral 8 declare %funcref @llvm.wasm.ref.null.func() nounwind 10 declare i32 @llvm.wasm.ref.is_null.func(%funcref) nounwind 22 define %funcref @get_null_func() { 24 ; CHECK: .functype get_null_func () -> (funcref) 28 %null = call %funcref @llvm.wasm.ref.null.func() 29 ret %funcref %null 49 define i32 @ref_is_null_func(%funcref %fref) { 51 ; CHECK: .functype ref_is_null_func (funcref) -> (i32) 59 %null = call %funcref @llvm.wasm.ref.null.func() [all …]
|
| H A D | funcref-globalget.ll | 3 %funcref = type ptr addrspace(20) ;; addrspace 20 is nonintegral 5 @funcref_global = local_unnamed_addr addrspace(1) global %funcref undef 7 define %funcref @return_funcref_global() { 9 %ref = load %funcref, ptr addrspace(1) @funcref_global 10 ret %funcref %ref 14 ; CHECK-NEXT: .functype return_funcref_global () -> (funcref)
|
| H A D | table-types.ll | 4 %funcref = type ptr addrspace(20) ;; addrspace 20 is nonintegral 21 ; CHECK: .tabletype fref_table, funcref 24 @fref_table = local_unnamed_addr addrspace(1) global [0 x %funcref] undef 27 ; CHECK: .tabletype .Lprivate_fref_table, funcref 29 @private_fref_table = private local_unnamed_addr addrspace(1) global [0 x %funcref] undef 31 ; CHECK: .tabletype extern_fref_table, funcref 34 @extern_fref_table = external addrspace(1) global [0 x %funcref]
|
| H A D | funcref-table_call.ll | 3 %funcref = type ptr addrspace(20) ;; addrspace 20 is nonintegral 5 @funcref_table = local_unnamed_addr addrspace(1) global [0 x %funcref] undef 7 ; CHECK: .tabletype __funcref_call_table, funcref, 1 22 %p = getelementptr [0 x %funcref], ptr addrspace (1) @funcref_table, i32 0, i32 %i 23 %ref = load %funcref, ptr addrspace(1) %p 28 ; CHECK: .tabletype funcref_table, funcref
|
| H A D | funcref-globalset.ll | 3 %funcref = type ptr addrspace(20) ;; addrspace 20 is nonintegral 5 @funcref_global = local_unnamed_addr addrspace(1) global %funcref undef 7 define void @set_funcref_global(%funcref %g) { 9 store %funcref %g, ptr addrspace(1) @funcref_global 14 ; CHECK-NEXT: functype set_funcref_global (funcref) -> ()
|
| H A D | funcref-call.ll | 3 %funcref = type ptr addrspace(20) ;; addrspace 20 is nonintegral 5 ; CHECK: .tabletype __funcref_call_table, funcref, 1 7 define void @call_funcref(%funcref %ref) { 9 ; CHECK-NEXT: .functype call_funcref (funcref) -> ()
|
| H A D | reg-copy.mir | 63 ; CHECK-NEXT: %0:funcref = COPY_FUNCREF %1:funcref 66 %0:funcref = COPY %1:funcref
|
| H A D | reg-argument.mir | 54 ; CHECK-NEXT: %1:funcref = ARGUMENT_funcref 0 57 %1:funcref = ARGUMENT_funcref 0, implicit $arguments
|
| /llvm-project-15.0.7/llvm/test/MC/WebAssembly/ |
| H A D | reference-types.s | 26 # CHECK-NEXT: .functype ref_sig_test_funcref (funcref) -> (funcref) 28 .functype ref_sig_test_funcref (funcref) -> (funcref) 40 # CHECK: funcref.select # encoding: [0x1b] 47 funcref.select 57 # CHECK: block funcref 60 .functype ref_block_test () -> (externref, funcref) 61 block funcref
|
| H A D | funcref-from-table.s | 4 .tabletype __indirect_function_table, funcref 9 .functype obtain_funcref_from_table_index(i32) -> (funcref)
|
| H A D | objdump.s | 12 .local i32, i64, funcref 24 # CHECK-NEXT: .local i32, i64, funcref
|
| H A D | tables.s | 14 # CHECK-NEXT: .tabletype bar, funcref 16 .tabletype bar, funcref 19 .tabletype table1, funcref, 42 21 .tabletype table2, funcref, 42, 100
|
| H A D | call-indirect-relocs.s | 12 .tabletype empty_fref_table, funcref 25 # CHECK: .tabletype empty_fref_table, funcref
|
| H A D | type-checker-errors.s | 149 # CHECK: :[[@LINE+1]]:3: error: popped funcref, expected externref 197 # CHECK: :[[@LINE+1]]:3: error: popped funcref, expected i32 205 # CHECK: [[@LINE+1]]:3: error: popped funcref, expected externref 505 # CHECK: :[[@LINE+1]]:3: error: popped funcref, expected i32
|
| /llvm-project-15.0.7/lld/test/wasm/ |
| H A D | duplicate-table-imports.s | 5 .tabletype t1, funcref 11 .tabletype t2, funcref 16 # Imported as an externref instead of funcref, so should not be de-duped.
|
| H A D | multi-table.s | 9 .tabletype table_a, funcref 13 .tabletype table_b, funcref
|
| /llvm-project-15.0.7/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyInstrTable.td | 65 defm "" : TABLE<FUNCREF, "funcref">, Requires<[HasReferenceTypes]>; 68 def : Pat<(WebAssemblyTableSet mcsym:$table, i32:$idx, funcref:$r), 69 (TABLE_SET_FUNCREF mcsym:$table, i32:$idx, funcref:$r)>,
|
| H A D | WebAssemblyRegisterInfo.td | 46 def FUNCREF_0 : WebAssemblyReg<"%funcref.0">; 68 def FUNCREF : WebAssemblyRegClass<[funcref], 0, (add FUNCREF_0)>;
|
| H A D | WebAssemblyInstrRef.td | 38 defm "" : REF_I<FUNCREF, funcref, "func">;
|
| H A D | WebAssemblyFastISel.cpp | 135 case MVT::funcref: in getLegalType() 708 case MVT::funcref: in fastLowerArguments() 814 case MVT::funcref: in selectCall() 951 case MVT::funcref: in selectSelect() 1364 case MVT::funcref: in selectRet()
|
| /llvm-project-15.0.7/llvm/lib/Target/WebAssembly/Utils/ |
| H A D | WebAssemblyTypeUtilities.cpp | 70 .Case("funcref", MVT::funcref) in parseMVT() 142 case MVT::funcref: in toValType()
|
| /llvm-project-15.0.7/llvm/include/llvm/CodeGen/ |
| H A D | ValueTypes.td | 224 def funcref : ValueType<0, 181>; // WebAssembly's funcref type
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | ValueTypes.cpp | 174 case MVT::funcref: return "funcref"; in getEVTString() 210 case MVT::funcref: in getTypeForEVT()
|