bjorn3
e4f1f3db27
Implement incremental caching of object files
2020-03-11 18:42:51 +01:00
bjorn3
9ab2af56aa
Rustup to rustc 1.43.0-nightly (4ad624882 2020-03-03)
2020-03-04 15:04:28 +01:00
bjorn3
c8de552c01
Tls support
2020-02-26 14:41:05 +01:00
bjorn3
430f738392
Update Cranelift for basic blocks
2020-02-14 18:23:29 +01:00
bjorn3
01f6f40ac2
Rustup to rustc 1.43.0-nightly (442ae7f04 2020-02-06)
2020-02-07 13:49:48 +01:00
bjorn3
ddd3d95a7e
Make atomic instructions atomic using a global lock
2020-01-22 20:09:55 +01:00
bjorn3
a3f378754b
Warn when using LTO
2020-01-22 20:06:05 +01:00
bjorn3
b22b184969
Update Cranelift
2020-01-14 13:55:08 +01:00
bjorn3
c74b306037
Move all cold code to the end of the function
...
Fixes #836
Benchmark #1 : simple-raytracer/raytracer_cg_clif
Time (mean ± σ): 9.250 s ± 0.056 s [User: 9.213 s, System: 0.015 s]
Range (min … max): 9.151 s … 9.348 s 20 runs
Benchmark #2 : simple-raytracer/raytracer_cg_clif_cold_separated
Time (mean ± σ): 9.179 s ± 0.101 s [User: 9.141 s, System: 0.016 s]
Range (min … max): 9.070 s … 9.473 s 20 runs
Summary
'simple-raytracer/raytracer_cg_clif_cold_separated' ran
1.01 ± 0.01 times faster than 'simple-raytracer/raytracer_cg_clif'
2020-01-11 17:57:18 +01:00
bjorn3
33ad67c124
Rustup to rustc 1.42.0-nightly (caa231d99 2020-01-08)
2020-01-09 17:43:10 +01:00
bjorn3
6652f466ef
Rustup to rustc 1.42.0-nightly (bc1571cc3 2020-01-05)
2020-01-06 20:11:03 +01:00
bjorn3
1bb848d4ac
Re-use cranelift_codegen::ir::Function for every function
...
Fixes #844
2020-01-04 17:58:38 +01:00
bjorn3
c5a7fca527
Use DUMMY_SP in less places
...
Fixes #845
2020-01-04 17:49:00 +01:00
bjorn3
196008bee3
Disable stack2reg opt when optimizations are disabled
2019-12-31 16:43:24 +01:00
bjorn3
8b82f4f989
[WIP] Add stack2reg optimization pass
2019-12-31 15:56:28 +01:00
bjorn3
7e6d533af2
Rustup to rustc 1.42.0-nightly (a9dd56ff9 2019-12-30)
2019-12-31 15:47:58 +01:00
bjorn3
399cada762
Directly depend on cranelift_{codegen,frontend}
...
Fixes #838
2019-12-24 12:43:20 +01:00
bjorn3
67a0fdad19
Make llvm_intrinsics a submodule of intrinsics
2019-12-23 13:57:55 +01:00
bjorn3
967709f31a
[OPT] Use load and store offsets instead of iadd_imm
2019-12-20 16:02:47 +01:00
bjorn3
d502f8e652
[OPT] Avoid calling target_triple for every call to codegen
2019-12-17 16:34:48 +01:00
bjorn3
e1613a69d4
Rustup to rustc 1.41.0-nightly (a605441e0 2019-12-15)
2019-12-16 11:33:57 +01:00
bjorn3
cdab96d05c
Rustup to rustc 1.41.0-nightly (53712f863 2019-11-21)
2019-11-22 15:56:49 +01:00
bjorn3
0471ed2776
Add support for object::write
2019-10-18 18:31:38 +02:00
bjorn3
f9ff604d96
Make dylib metadata write backend agnostic
2019-10-18 18:31:38 +02:00
bjorn3
8243a370d2
Rustup to rustc 1.40.0-nightly (fa0f7d008 2019-10-17)
2019-10-18 18:31:26 +02:00
bjorn3
f0c774e05d
Rustup to rustc 1.40.0-nightly (237d54ff6 2019-10-15)
2019-10-16 18:43:52 +02:00
bjorn3
75db7cc49d
Remove logfile support from unimpl.rs
...
I haven't used it in months
2019-10-06 17:36:15 +02:00
bjorn3
0f938f68a5
Rustup to rustc 1.40.0-nightly (2daa404e9 2019-10-02)
2019-10-03 17:22:01 +02:00
bjorn3
1b6706c924
Call cg_ssa::base::provide_both in provide{,_extern}
2019-09-28 17:01:17 +02:00
bjorn3
0db605040e
Use CallConv::triple_default instead of hard coding SystemV
...
Fixes #718
2019-09-28 17:00:27 +02:00
bjorn3
44792f1089
Rustup to rustc 1.40.0-nightly (084beb83e 2019-09-27)
2019-09-28 14:06:12 +02:00
bjorn3
a1bf96f630
Wrap linker invocation in time()
2019-09-22 16:21:00 +02:00
bjorn3
dbeca50901
Misc cleanup
2019-09-22 16:05:22 +02:00
bjorn3
3a7aa6c0fa
Reduce time required to build from scratch in dev mode
...
* Disable wasm reading of object
* Use tempfile bundled with rustc
* Don't optimize and don't generate debuginfo for build scripts and some
build deps
Before: 354s (5m 45s)
After: 207s (3m 27s)
2019-09-21 14:27:45 +02:00
Atul Bhosale
f481a4b685
Format code using 'cargo fmt'
2019-08-31 22:58:09 +05:30
bjorn3
d9d8c69af1
Split extract layout field of all CPlace variants into a sparate struct
2019-08-29 11:23:19 +02:00
bjorn3
2a20cc0b94
Use anonymous lifetimes where possible
2019-08-18 16:52:07 +02:00
bjorn3
32cb5b8c8e
Move discriminant get and set to discriminant.rs
2019-08-14 12:01:41 +02:00
bjorn3
883894a07a
Move trans_*_binop to num.rs
2019-08-14 11:52:39 +02:00
bjorn3
11b2b86b08
Fix some rustc tests
...
* Check for `#[rustc_error]` attribute.
* Use the same weak static type error message as cg_llvm
2019-08-13 19:42:16 +02:00
bjorn3
f02d135057
Print error for #[rustc_def_path] like expected
2019-08-13 19:39:46 +02:00
bjorn3
9041db962d
Fix it
2019-08-11 17:06:18 +02:00
bjorn3
fb3fa677fa
Call assert_module_sources
2019-08-04 13:42:03 +02:00
bjorn3
b806070a88
Fix simd_cast
2019-07-31 09:46:05 +02:00
bjorn3
1a26891170
Replace llvm intrinsics with runtime trap
2019-07-29 11:03:55 +02:00
bjorn3
bdf23c0201
Don't set opt_level to best
...
LICM is still broken
2019-07-27 16:12:48 +02:00
bjorn3
fe20f8cba6
Rustup to rustc 1.38.0-nightly (c43753f91 2019-07-26)
2019-07-27 11:35:46 +02:00
bjorn3
0a833ba8a1
[WIP]
2019-07-26 11:32:04 +02:00
bjorn3
5180becc7c
Fix 128bit CValue::const_val
2019-07-26 11:30:39 +02:00
bjorn3
641a210ff6
Implement most 128bit binops
2019-07-26 11:29:35 +02:00