bjorn3
162365e3d6
Fix loading of dylibs not in the search path in jit mode
...
Reported in #1249
2023-02-28 14:36:44 +00:00
bjorn3
8e5a9bb77d
Sync from rust 9a7cc6c32f
2023-02-17 18:49:57 +01:00
Maybe Waffle
f58bd0e290
if $c:expr { Some($r:expr) } else { None } =>> $c.then(|| $r)
2023-02-16 15:26:00 +00:00
Matthias Krüger
0b62b643e3
clippy::complexity fixes
2023-02-10 22:21:02 +01:00
bjorn3
56951e4f2b
Merge commit ' 7d53619064' into sync_cg_clif-2023-02-09
2023-02-09 12:38:16 +01:00
bjorn3
469783c263
Use generic_activity_with_arg in codegen_fn and compile_fn
2023-02-03 17:33:39 +00:00
bjorn3
d2ffe40864
Cleanup -Ztime-passes output
2023-02-03 17:16:09 +00:00
bjorn3
a465d6a860
Move codegen_and_compile_fn to driver/jit.rs
2023-02-03 16:48:35 +00:00
bjorn3
b67610f98a
Merge commit ' 598f090956' into sync_cg_clif-2023-01-24
2023-01-24 18:56:42 +01:00
bjorn3
ab0e2aaed2
Revert "Don't PrintOnPanic on fatal errors"
...
This reverts commit b5ac64b4cf .
It entirely breaks PrintOnPanic as ICE seems to be considered a fatal error too.
2022-12-16 13:00:36 +00:00
bjorn3
91655428f9
Ensure Cranelift errors are reported deterministically
...
This may also have been the root cause of #1310 .
2022-12-16 10:04:49 +00:00
bjorn3
b5ac64b4cf
Don't PrintOnPanic on fatal errors
2022-12-16 09:44:28 +00:00
bjorn3
d841f93855
Add .comment section with producer name
...
Fixes #1211
2022-12-15 13:57:13 +00:00
bjorn3
98a276b589
Merge commit ' 2bb3996244' into sync_cg_clif-2022-12-14
2022-12-14 19:30:46 +01:00
bjorn3
08ba5d4e80
Remove a couple of module.isa() calls
2022-12-14 12:25:53 +00:00
bjorn3
155f569794
Update cranelift to the upcoming release-3.0.0 branch
2022-12-01 17:45:59 +00:00
bjorn3
9950bd1dc5
Merge commit ' 266e96785a' into sync_cg_clif-2022-10-23
2022-10-23 16:22:55 +02:00
bjorn3
9054e66703
Fix panic in ConcurrencyLimiter when unwinding
...
Fixes #1275
2022-09-02 09:34:41 +00:00
bjorn3
eef75dde3b
Update libloading to 0.7.3
...
This was previously done in bfcf97bd83 , but got
reverted due to a bug. The bug seems to be fixed now.
Fixes #1137
2022-09-01 15:52:48 +00:00
bjorn3
a7de42f61b
Use pull instead of push based model for getting dylib symbols in the jit
...
This avoids having to parse the dylibs to get all symbols and matches
the way the dynamic linker resolves symbols. Furthermore it fixes the
jit on Windows.
2022-08-28 10:43:19 +02:00
bjorn3
cfef0a4f8d
Merge commit ' e9d1a0a7b0' into sync_cg_clif-2022-08-24
2022-08-24 18:40:58 +02:00
bjorn3
f71c545746
Make sure to count reused cgus towards the count of jobs done
2022-08-23 16:51:06 +00:00
bjorn3
5b4195669e
Add some self profiler calls
2022-08-23 16:32:38 +00:00
bjorn3
d081c20273
Compile functions from clif ir to object code in parallel
2022-08-23 16:32:38 +00:00
bjorn3
1a6323313b
Use correct CguReuse variant
2022-08-23 16:32:20 +00:00
bjorn3
f9d60cf551
Do asm compilation and object file emission in parallel
2022-08-23 16:05:29 +00:00
bjorn3
535c6ddc8b
Small cleanup
2022-08-18 19:03:28 +00:00
bjorn3
259b21fd46
Remove TyCtxt from DebugContext
...
And explicitly thread it through everwhere it is needed.
2022-08-18 15:25:52 +00:00
bjorn3
5fc1366dfa
Register debuginfo for lazy jit shim
2022-08-18 12:55:44 +00:00
bjorn3
c820b7cd60
Remove TyCtxt field from CodegenCx
2022-08-17 13:43:32 +00:00
bjorn3
9461fd2cb0
Remove TyCtxt parameter from emit_cgu
...
TyCtxt isn't available on background threads.
2022-08-13 12:18:41 +00:00
bjorn3
4c0766ce6c
Move error reporting out of emit_cgu
...
Error reporting requires a Session, which isn't available on background
threads.
2022-08-13 09:03:28 +00:00
bjorn3
c2f0b3a1bf
Move copy to incr comp cache to codegen join phase
...
The copy depends on Session, which is only available on the main thread.
As such the copy can't be done on future codegen threads.
2022-08-12 19:10:16 +00:00
bjorn3
6206c4e927
Stream object file to disk
...
This reduces memory usage and may improve performance slightly.
2022-08-12 18:57:01 +00:00
bjorn3
ab7c706306
Move build_isa call into make_module
2022-08-12 18:40:48 +00:00
bjorn3
d3512b1d8e
Don't attempt to do incr comp for the allocator shim
...
The allocator shim doesn't get reused and the allocator shim is just
under 2kb, so reusing it is likely more expensive than regenerating it.
2022-08-12 18:29:46 +00:00
bjorn3
db7d8a811d
Give fields of ModuleCodegenResult names
2022-08-12 18:29:43 +00:00
bjorn3
e45f6000a0
Remove the partial linking hack for global asm support
2022-08-12 12:27:47 +00:00
bjorn3
48b312f04a
Don't take TyCtxt as argument for compile_global_asm
...
This allows it to be executed on a background thread.
2022-08-12 11:44:52 +00:00
bjorn3
066f844fff
Move some sess.fatal calls out of compile_global_asm
2022-08-12 09:28:41 +00:00
bjorn3
7cc97ebcbb
Extract global_asm module
2022-08-12 09:11:47 +00:00
bjorn3
c5adc96532
Introduce OngoingCodegen type
2022-08-11 13:49:08 +00:00
bjorn3
07bcd111f8
Return ModuleCodegenResult from reuse_workproduct_for_cgu
2022-08-11 13:38:07 +00:00
bjorn3
8a336a2ae1
Move cached_context out of CodegenCx
2022-08-10 18:47:05 +00:00
bjorn3
a10da0f768
Split non-compile parts of codegen_fn out into a separate function
...
The new codegen_and_compile_fn function only calls codegen_fn and then
compile_fn. This makes it possible for both parts to be called
separately by the driver.
2022-08-10 18:29:46 +00: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
David Wood
69d0c1e9ac
incr: cache dwarf objects in work products
...
Cache DWARF objects alongside object files in work products when those
exist so that DWARF object files are available for thorin in packed mode
in incremental scenarios.
Signed-off-by: David Wood <david.wood@huawei.com>
2022-07-06 11:15:13 +01:00
Maybe Waffle
6d8c45064b
Move/rename lazy::Sync{OnceCell,Lazy} to sync::{Once,Lazy}Lock
2022-06-16 19:54:42 +04:00
bjorn3
3d8e854604
Make saved_file field of WorkProduct non-optional
...
A WorkProduct without a saved file is useless
2022-06-06 12:39:32 +00:00
bjorn3
bbb850931f
Factor Option out of copy_cgu_workproduct_to_incr_comp_cache_dir call
...
This improves clarity of the code a bit
2022-06-06 12:38:38 +00:00