bjorn3
c0ec688daf
Rustup to rustc 1.40.0-nightly (3fc30d884 2019-11-10)
2019-11-11 20:34:42 +01:00
bjorn3
5407b51aa7
Rustup to rustc 1.40.0-nightly (9e346646e 2019-11-08)
2019-11-09 11:14:18 +01:00
bjorn3
0cad01f239
Rustup to rustc 1.40.0-nightly (aa4e57ca8 2019-10-31)
2019-11-01 20:22:59 +01:00
bjorn3
40178f6d3c
Changes for gimli-rs/object#133
2019-10-25 22:01:31 +02:00
bjorn3
8536514308
Rustup to rustc 1.40.0-nightly (10a52c25c 2019-10-24)
2019-10-25 21:41:24 +02:00
bjorn3
dda5ea883a
Fix debuginfo for machO
...
This only fixes it when using object::write as backend, and not when using faerie.
There were two problems:
* object::write doesn't replace .debug_info with __debug_info, unlike faerie
* machO requires section relative relocations, and not symbol relative
relocations. When using symbol relative relocations, the linker
interprets the relocations as section relative. Thus writing the wrong
values to the debug sections.
Fixes #303
2019-10-19 15:37:07 +02:00
bjorn3
4d7f70318a
Fix metadata symbol scope
...
It should be exported from the generated dylib
2019-10-19 11:08:16 +02:00
bjorn3
bb5cefe838
Test object::write backend on travis
2019-10-19 10:56:35 +02:00
bjorn3
ecd9c4f2e3
FIx review comments
2019-10-19 10:52:56 +02:00
bjorn3
0471ed2776
Add support for object::write
2019-10-18 18:31:38 +02:00
bjorn3
5873127ec2
Make debuginfo writing backend agnostic
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
82fde5b622
Remove bitflags dependency
2019-10-06 17:52:23 +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
6129921529
More 128bit support
...
* UnOp::Neg
* ctpop
* bitreverse
Also replaces `if let Some(64u128) = ...` with `if ... = Some(u64u128)`
to be able to compile cg_clif using cg_clif, as cranelift_frontend::Switch
doesn't support i128 yet.
2019-10-06 15:51:43 +02:00
bjorn3
b5d29a8c58
Rustup to rustc 1.40.0-nightly (787005079 2019-10-04)
2019-10-06 10:41:15 +02:00
bjorn3
b0de88b741
Use DisplayFunctionAnnotations::default()
2019-10-04 14:57:07 +02:00
bjorn3
721fe3b43c
Predefine all local functions before codegen
...
Otherwise only calls to previously codegened functions use relative
addressing instead of the GOT
Fixes #692
2019-10-04 14:45:53 +02:00
bjorn3
58a9b648e8
Update cranelift, faerie and target-lexicon
2019-10-03 18:55:01 +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
1e5cea09d5
Add profile code around metadata object generation
...
cc #719
2019-09-22 16:47:45 +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
bjorn3
fdfb1eda2c
Rustup to rustc 1.39.0-nightly (97e58c0d3 2019-09-20)
2019-09-21 11:30:29 +02:00
bjorn3
77d33c1707
Fix trans_ptr_binop for fn()
2019-09-15 18:35:56 +02:00
bjorn3
c34ada7cca
Fix foreign type handling
2019-09-14 17:53:36 +02:00
bjorn3
b267995f39
Cleanup
2019-09-14 15:15:06 +02:00
bjorn3
8f12b87542
Implement shl and shr overflow checks
...
cc #6
2019-09-14 12:13:23 +02:00
bjorn3
6ea4cbdf1b
Rustup to rustc 1.39.0-nightly (a6946a817 2019-09-13)
2019-09-14 11:21:18 +02:00
bjorn3
af4009d8c8
Rustup to rustc 1.39.0-nightly (eb48d6bde 2019-09-12)
2019-09-13 21:03:26 +02:00
bjorn3
ce0be229d7
Use upstream cranelift
2019-09-08 19:18:17 +02:00
bjorn3
629f7ab4a3
Don't perform neg overflow checks when they are disabled
2019-09-07 11:00:49 +02:00
bjorn3
bfb49e7d19
Rustup to rustc 1.39.0-nightly (6e19f3f38 2019-09-06)
2019-09-07 10:51:00 +02:00
bjorn3
a2e905f22d
Correctly align offset for dst field projections
...
Fixes #681
2019-09-02 20:09:37 +02:00
bjorn3
cd0e862282
Update ar
...
Fixes #672
2019-09-01 11:17:01 +02:00
Atul Bhosale
f481a4b685
Format code using 'cargo fmt'
2019-08-31 22:58:09 +05:30
bjorn3
15b9834d7d
Don't copy ByRef passed types to local stack slot when not necessary
...
Eg when the local is immutable **and** the type is freeze.
This makes the simple raytracer runtime benchmark 1% faster than cg_llvm
without optimizations. Before it was 2% slower.
cc #691
cc #684
2019-08-30 15:42:07 +02:00
bjorn3
76d2e085db
Improve abi ir comments a bit
2019-08-30 15:07:15 +02:00
bjorn3
d731c4a6a7
Move ir comments generation to abi/comments.rs
...
Also list locals stored in ssa vars in the comments
2019-08-30 14:21:24 +02:00
bjorn3
deeae2fce4
Small change
2019-08-30 12:42:24 +02:00
bjorn3
16593d264c
Move return handling to abi/returning.rs
2019-08-30 12:30:57 +02:00
bjorn3
68dcfc1c78
Move pass mode handling to abi/pass_mode.rs
2019-08-30 11:58:52 +02:00
bjorn3
6427eaf68b
Move abi.rs to abi/mod.rs
2019-08-30 11:51:33 +02:00
bjorn3
556d708f20
Rustup to rustc 1.39.0-nightly (72b2abfd6 2019-08-29)
2019-08-30 11:42:42 +02:00