[PATCH] D122215: [WebAssembly] Initial support for reference types in clang
Paulo Matos via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 22 01:48:43 PDT 2022
pmatos created this revision.
pmatos added reviewers: tlively, asb.
Herald added subscribers: StephenFan, wingo, dexonsmith, ecnelises, arphaman, martong, sunfish, hiraditya, jgravelle-google, sbc100, dschuff.
Herald added a reviewer: shafik.
Herald added a reviewer: aaron.ballman.
Herald added a project: All.
pmatos requested review of this revision.
Herald added subscribers: llvm-commits, cfe-commits, aheejin.
Herald added projects: clang, LLVM.
This patch defines a builtin type externref and represents a
funcref as a function pointer with the attribute funcref. As a test
it implements builtins __builtin_wasm_ref_null_func() and
__builtin_wasm_ref_null_extern(). Considerations about alloca address
spaces will come in a followup patch.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D122215
Files:
clang/include/clang/AST/ASTContext.h
clang/include/clang/AST/Type.h
clang/include/clang/AST/TypeProperties.td
clang/include/clang/Basic/Attr.td
clang/include/clang/Basic/Builtins.def
clang/include/clang/Basic/BuiltinsWebAssembly.def
clang/include/clang/Basic/WebAssemblyReferenceTypes.def
clang/include/clang/Serialization/ASTBitCodes.h
clang/include/clang/module.modulemap
clang/lib/AST/ASTContext.cpp
clang/lib/AST/ASTImporter.cpp
clang/lib/AST/ExprConstant.cpp
clang/lib/AST/ItaniumMangle.cpp
clang/lib/AST/MicrosoftMangle.cpp
clang/lib/AST/NSAPI.cpp
clang/lib/AST/PrintfFormatString.cpp
clang/lib/AST/Type.cpp
clang/lib/AST/TypeLoc.cpp
clang/lib/CodeGen/CGBuiltin.cpp
clang/lib/CodeGen/CGDebugInfo.cpp
clang/lib/CodeGen/CGDebugInfo.h
clang/lib/CodeGen/CodeGenTypes.cpp
clang/lib/CodeGen/ItaniumCXXABI.cpp
clang/lib/CodeGen/TargetInfo.cpp
clang/lib/CodeGen/TargetInfo.h
clang/lib/Index/USRGeneration.cpp
clang/lib/Sema/Sema.cpp
clang/lib/Sema/SemaExpr.cpp
clang/lib/Serialization/ASTCommon.cpp
clang/lib/Serialization/ASTReader.cpp
clang/test/CodeGen/WebAssembly/wasm-externref.c
clang/test/CodeGen/WebAssembly/wasm-funcref.c
clang/test/CodeGen/builtins-wasm.c
clang/test/CodeGenCXX/wasm-reftypes-mangle.cpp
clang/test/CodeGenCXX/wasm-reftypes-typeinfo.cpp
clang/tools/libclang/CIndex.cpp
llvm/include/llvm/IR/Type.h
llvm/lib/CodeGen/ValueTypes.cpp
llvm/lib/IR/Type.cpp
llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D122215.417212.patch
Type: text/x-patch
Size: 35167 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220322/3e9b1872/attachment-0001.bin>
More information about the cfe-commits
mailing list