865 Commits

Author SHA1 Message Date
bjorn3
c0aedfef96 [WIP] debuginfo for locals 2019-12-16 12:04:34 +01:00
bjorn3
e1613a69d4 Rustup to rustc 1.41.0-nightly (a605441e0 2019-12-15) 2019-12-16 11:33:57 +01:00
bjorn3
88277f983a Remove some workarounds for missing inst legalizations 2019-12-08 11:52:04 +01:00
bjorn3
c6086a8fd7 Rustup to rustc 1.41.0-nightly (6d77e45f0 2019-12-04) 2019-12-05 21:00:57 +01:00
bjorn3
f0bb30f8a1 Rustup to rustc 1.41.0-nightly (25d8a9494 2019-11-29) 2019-12-01 12:54:57 +01:00
bjorn3
c3df8b185b Rustup to rustc 1.41.0-nightly (0c987c5c0 2019-11-23) 2019-11-24 16:30:15 +01:00
bjorn3
53e0833232 Implement log10f* intrinsics 2019-11-24 15:30:28 +01:00
bjorn3
4a8b0ca274 Correctly align returned addr for to_addr on NoPlace 2019-11-24 14:56:51 +01:00
bjorn3
cdab96d05c Rustup to rustc 1.41.0-nightly (53712f863 2019-11-21) 2019-11-22 15:56:49 +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
bjorn3
0c026853f5 Rustup to rustc 1.41.0-nightly (82cf3a448 2019-11-14) 2019-11-15 20:47:22 +01:00
bjorn3
177b0d2f57 Rustup to rustc 1.41.0-nightly (ded5ee001 2019-11-13) 2019-11-14 21:13:40 +01:00
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