Commit Graph

54 Commits

Author SHA1 Message Date
Nikolay Nikolov
66b471e516 + support different versions of llvm-mc (version 10 seems to be the earliest that works) 2022-05-26 15:06:35 +03:00
Nikolay Nikolov
ddab39dbdc + enable the atomics extension on the llvm-mc command line (extension appears
to be recognized since LLVM 8.0, so it should be safe to always enable this
  from the llvm-mc command line)
2022-05-13 21:15:54 +03:00
Nikolay Nikolov
026d23632a + added the memory.copy and memory.fill WebAssembly instructions 2021-10-02 19:35:26 +03:00
Nikolay Nikolov
f6b4a54f7d * fixed output of 32-bit floating point constants in the llvm-mc asm output 2021-09-29 04:57:19 +03:00
Nikolay Nikolov
8226233aa3 * introduced the tai_globaltype asm directive, use that to declare the stack
pointer global symbol
2021-09-27 02:39:43 +03:00
Nikolay Nikolov
a1c8e92904 * emit a tai_tagtype for __FPC_exception instead of hardcoding the asm output
directly when wasm native exceptions are enabled
2021-09-27 00:33:57 +03:00
Nikolay Nikolov
54481d7218 * moved the imports/funcdef writing from the llvm-mc assembler writer to
twasmnodeutils.InsertObjectInfo. This way, the info it produces will be
  shared with the internal wasm object writer as well.
2021-09-25 00:16:53 +03:00
Nikolay Nikolov
d19919aa13 * TLLVMMachineCodePlaygroundAssembler.WriteImports now uses just a single TAsmList 2021-09-25 00:02:14 +03:00
Nikolay Nikolov
a6e75d52f7 + introduced tai_import_module and tai_import_name that represent the
.import_module and .import_name assembler directives
2021-09-24 22:14:32 +03:00
Nikolay Nikolov
ac2f299d04 + declare __FPC_exception as a label, otherwise wasm-ld crashes 2021-09-18 01:47:28 +03:00
Nikolay Nikolov
288f79cb3b + declare the __FPC_exception tag, when compiling with native WebAssembly
exceptions
2021-09-17 23:46:38 +03:00
Nikolay Nikolov
d8665f8a51 * write the .globaltype directive and the imports in the beginning of the
assembly file, because that appears to be required by llvm-mc from git
2021-09-17 23:46:38 +03:00
Nikolay Nikolov
d36e239f45 + enabled the exception handling instructions in the llvm-mc command line 2021-09-17 21:20:14 +03:00
nickysn
715de4547a * fixed WASI dll imports that are declared in a different unit
git-svn-id: trunk@49537 -
2021-06-23 20:36:52 +00:00
pierre
570af33fa9 Add a second handling of NIL entries in deflist
git-svn-id: trunk@49270 -
2021-04-26 21:12:02 +00:00
pierre
e6045673ee Handle NIL entries in deflist after commit 48986
git-svn-id: trunk@49230 -
2021-04-18 15:44:07 +00:00
nickysn
4f828929a3 * fixed the support for infinity and nan float literal values in the webassembly
llvm-mc asm writer

git-svn-id: trunk@49213 -
2021-04-16 23:40:11 +00:00
nickysn
d090af4abe * skip nil values in current_module.deflist in TLLVMMachineCodePlaygroundAssembler.WriteImports
git-svn-id: trunk@48985 -
2021-03-15 18:12:36 +00:00
nickysn
807c743e35 * system identifier system_wasm32_wasm renamed system_wasm32_embedded
git-svn-id: branches/wasm@48362 -
2021-01-24 01:01:39 +00:00
nickysn
9908a9d82a + add functypes for the unit init and finalization code procedures
git-svn-id: branches/wasm@48285 -
2021-01-21 22:12:15 +00:00
nickysn
4e57c4d89e + enable smartlink sections for the llvm-mc assembler
git-svn-id: branches/wasm@48255 -
2021-01-21 03:50:24 +00:00
nickysn
8697fb4822 * write the WebAssembly procdefs in the standard way, instead of using the special JVM way
git-svn-id: branches/wasm@48251 -
2021-01-21 02:44:43 +00:00
nickysn
f83ef3c610 * avoid creating threadvar sections in the LLVM-MC WebAssembly output
git-svn-id: branches/wasm@48246 -
2021-01-20 23:13:14 +00:00
nickysn
ca3cf821f3 * fixed writing of floating point constants for the LLVM-MC assembler
git-svn-id: branches/wasm@48244 -
2021-01-20 23:00:52 +00:00
nickysn
b6735179ed * use a functype operand for a_if, instead of hardcoding
git-svn-id: branches/wasm@48028 -
2021-01-04 11:01:18 +00:00
nickysn
07c1783e24 * refactored call_indirect to use a 'functype' operand type. This type will be reused for block instructions as well.
git-svn-id: branches/wasm@48027 -
2021-01-04 10:50:06 +00:00
nickysn
6ef60815b8 * fixed the 'if' instruction syntax in the llvm-mc asm writer
git-svn-id: branches/wasm@48026 -
2021-01-04 10:11:29 +00:00
nickysn
4ea7d8dffb + enable the sign extension wasm32 instructions
git-svn-id: branches/wasm@47975 -
2021-01-02 15:07:38 +00:00
nickysn
8c05ba538d * fixed formatting in wasm32 instr writer write instruction
git-svn-id: branches/wasm@47968 -
2021-01-02 12:28:00 +00:00
nickysn
5dfdaf870f - removed redundant code from wasm32 instruction writer
git-svn-id: branches/wasm@47967 -
2021-01-02 12:26:04 +00:00
nickysn
09ae46cfdd - removed unused code from TWASM32InstrWriter.WriteInstruction
git-svn-id: branches/wasm@47966 -
2021-01-02 12:25:12 +00:00
nickysn
35489718f3 * fixed call_indirect for the llvm-mc asm writer
git-svn-id: branches/wasm@47965 -
2021-01-02 12:21:30 +00:00
nickysn
da87a9e48d + write proctype of procedures in other units as well
git-svn-id: branches/wasm@47184 -
2020-10-24 20:23:51 +00:00
nickysn
64b2d8ef85 * wasm base and index reference access fixes
git-svn-id: branches/wasm@47177 -
2020-10-24 17:28:43 +00:00
nickysn
1d8c5edbcc + write references with registers for debugging purposes (to support asm output with -sr) in the LLVM-MC asm writer
git-svn-id: branches/wasm@47173 -
2020-10-24 15:41:41 +00:00
nickysn
19519eb3d2 + support global references with offset in the LLVM-MC asm writer
git-svn-id: branches/wasm@47166 -
2020-10-24 12:03:55 +00:00
nickysn
8494283925 * fixed load/store LLVM-MC asm output for global variables
git-svn-id: branches/wasm@47165 -
2020-10-24 11:56:20 +00:00
nickysn
da5c9a978e + write procdef for imports
git-svn-id: branches/wasm@47001 -
2020-09-29 00:16:10 +00:00
nickysn
8fee0f6130 + partial implementation of imports
git-svn-id: branches/wasm@46999 -
2020-09-29 00:05:14 +00:00
nickysn
0a5655955c + declare the stack pointer global type
git-svn-id: branches/wasm@46997 -
2020-09-28 23:23:42 +00:00
nickysn
5c27030faf * emit sec_fpc as sec_data, because custom section names aren't supported
git-svn-id: branches/wasm@46848 -
2020-09-11 16:19:32 +00:00
nickysn
5157ea0524 * llvm-mc instruction writing, copied from the wat2wasm writer
git-svn-id: branches/wasm@46699 -
2020-08-26 17:09:36 +00:00
nickysn
2d39ddf85e + write the global procedures/functions in the llvm-mc assembler writer
git-svn-id: branches/wasm@46698 -
2020-08-26 16:58:17 +00:00
nickysn
0c366b33fd + added TWASM32InstrWriter (not yet implemented)
git-svn-id: branches/wasm@46671 -
2020-08-23 17:18:08 +00:00
nickysn
aea75c7caf - removed commented out class name
git-svn-id: branches/wasm@46669 -
2020-08-23 17:02:33 +00:00
nickysn
539fde196d * rebase the llvm-mc asm writer on the GAS assembler writer - seems to be pretty
close in syntax

git-svn-id: branches/wasm@46668 -
2020-08-23 17:01:55 +00:00
nickysn
faf8ac4d2e * commented out the actual ait_symbol asm output in the LLVM-MC asm writer, because it produces errors
git-svn-id: branches/wasm@46525 -
2020-08-20 21:15:57 +00:00
nickysn
bccdf2a22a + also log ait_symbol_end in the LLVM-MC asm writer
git-svn-id: branches/wasm@46524 -
2020-08-20 21:02:06 +00:00
nickysn
c3b971e0dd + log the properties of ait_symbol for debugging purposes in the LLVM-MC asm writer
git-svn-id: branches/wasm@46523 -
2020-08-20 20:48:11 +00:00
nickysn
05235a1066 * synchronized with trunk
git-svn-id: branches/wasm@46500 -
2020-08-19 21:23:36 +00:00