Commit Graph

35 Commits

Author SHA1 Message Date
bjorn3
38e8be9673 Add create_stack_slot helper to FunctionCx
This will allow centrally handling a workaround for the lack of stack
alignment specifier in cranelift.
2023-10-22 16:02:14 +00:00
bjorn3
02dec62de5 Update to Cranelift 0.100
This skips Cranelift 0.99 as it depends on an object version that is broken on
macOS.
2023-09-21 13:33:30 +00:00
bjorn3
b2796ecb77 Add issue reference to fixmes 2023-03-27 17:52:37 +00:00
bjorn3
29ad465127 Fix float to int compiler builtin call abi 2023-02-17 18:40:22 +00:00
bjorn3
ede7cde065 Move windows i128 argument by-ref handling to lib_call 2023-02-17 18:20:34 +00:00
bjorn3
7bd3b771b0 Add fixme 2023-02-17 18:20:34 +00:00
bjorn3
e58bb2acbd Use new abi for 128bit int to float cast intrinsics on Windows 2023-02-17 18:20:34 +00:00
bjorn3
cdf4f4287a Remove easy_call 2023-02-17 18:20:14 +00:00
bjorn3
16a2641444 Remove all usages of iconst.i128
Support was removed from Cranelift
2022-12-01 17:45:59 +00:00
bjorn3
cff5eed8ef Sync from rust 880416180b 2022-07-18 12:10:52 +02:00
Joshua Nelson
b2ae24e6a1 Rename debugging_opts to unstable_opts
This is no longer used only for debugging options (e.g. `-Zoutput-width`, `-Zallow-features`).
Rename it to be more clear.
2022-07-13 17:47:06 -05:00
bjorn3
d628444e48 Remove workaround for bytecodealliance/wasmtime#3963 2022-06-02 20:50:45 +02:00
bjorn3
32202f20cd Merge commit 'f2cdd4a78d89c009342197cf5844a21f8aa813df' into sync_cg_clif-2022-04-22 2022-04-22 21:11:38 +02:00
bjorn3
f3d97cce27 Fix saturating float casts test
Fixes #737
2022-03-25 19:32:14 +01:00
bjorn3
d220159810 Merge commit '05677b6bd6c938ed760835d9b1f6514992654ae3' into sync_cg_clif-2021-08-06 2021-08-06 16:26:56 +02:00
bjorn3
2e62516496 Remove workarounds for things unimplemented in Cranelift
Many are now implemented, so it is much nicer to directly use the
respective Cranelift instructions
2021-07-28 17:30:39 +02:00
bjorn3
27886cd6b6 Merge commit '9a0c32934ebe376128230aa8da3275697b2053e7' into sync_cg_clif-2021-03-05 2021-03-05 19:12:59 +01:00
bjorn3
5e736293b3 Rustfmt 2021-03-05 11:21:44 +01:00
bjorn3
73d3a1c14a Use dynamic dispatch for the inner Module
This improves compilation time and shrinks the linked backend from
13MB to 9.7MB on Linux.
2021-02-23 18:49:37 +01:00
bjorn3
285c7c66dc Merge commit '03f01bbe901d60b71cf2c5ec766aef5e532ab79d' into update_cg_clif-2020-11-01 2020-11-03 11:00:04 +01:00
bjorn3
4cc6b4f9bf Fix many clippy warnings 2020-10-28 21:47:25 +01:00
bjorn3
0a5968dfd2 Use the new cranelift-module interface
This updates Cranelift to include bytecodealliance/wasmtime#2249
2020-10-08 19:00:21 +02:00
bjorn3
c8699076f9 Document almost all modules
Fixes #1082
2020-09-23 15:13:49 +02:00
bjorn3
a0580610b2 Use From::from instead of as where possible 2020-07-14 16:38:50 +02:00
bjorn3
cd684e39e0 Fix saturated_* intrinsics for 128bit ints
Fixes #968
2020-04-17 14:14:24 +02:00
bjorn3
f288959c00 Limit publicness to crate where possible and remove unused imports 2020-03-27 12:14:45 +01:00
bjorn3
0219f218db Remove FIXME 2019-11-16 16:54:47 +01:00
bjorn3
b0bcb23eb4 Fix signed cast to 128bit integer 2019-11-16 16:44:26 +01:00
Atul Bhosale
f481a4b685
Format code using 'cargo fmt' 2019-08-31 22:58:09 +05:30
bjorn3
1f90b04cd6 Fix float -> u/i128 cast
The original test casts were optimized away by rustc,
so cg_clif never saw them.

cc #668
2019-08-21 14:35:48 +02:00
bjorn3
b2d6705fe2 Implement u/i128 <-> float casts
Fixes #668
2019-08-21 14:01:29 +02:00
bjorn3
95908f61a0 Add unimpl! for cast between 128bit int and float 2019-08-19 16:43:25 +02:00
bjorn3
2a20cc0b94 Use anonymous lifetimes where possible 2019-08-18 16:52:07 +02:00
bjorn3
f93cd924ec Implement float -> small int cast
Also workaround small signed int eq/ne binop clif bug
2019-08-12 17:25:16 +02:00
bjorn3
b806070a88 Fix simd_cast 2019-07-31 09:46:05 +02:00