Commit Graph

1359 Commits

Author SHA1 Message Date
bjorn3
4a8b0ca274 Correctly align returned addr for to_addr on NoPlace 2019-11-24 14:56:51 +01:00
bjorn3
fc826a7525 Benchmark simple-raytracer compilation
[BENCH COMPILE] ebobby/simple-raytracer
Benchmark #1: RUSTFLAGS='' cargo build --target x86_64-apple-darwin
  Time (mean ± σ):     16.539 s ±  0.781 s    [User: 46.043 s, System: 3.822 s]
  Range (min … max):   15.057 s … 17.566 s    10 runs

Benchmark #2: ../cargo.sh build
  Time (mean ± σ):     14.550 s ±  0.443 s    [User: 25.856 s, System: 4.214 s]
  Range (min … max):   14.208 s … 15.751 s    10 runs

Summary
  '../cargo.sh build' ran
    1.14 ± 0.06 times faster than 'RUSTFLAGS='' cargo build --target x86_64-apple-darwin'
[BENCH RUN] ebobby/simple-raytracer
Benchmark #1: ./raytracer_cg_llvm
  Time (mean ± σ):      6.436 s ±  0.022 s    [User: 6.392 s, System: 0.018 s]
  Range (min … max):    6.408 s …  6.466 s    10 runs

Benchmark #2: ./raytracer_cg_clif
  Time (mean ± σ):      9.604 s ±  0.088 s    [User: 9.547 s, System: 0.023 s]
  Range (min … max):    9.503 s …  9.742 s    10 runs

Summary
  './raytracer_cg_llvm' ran
    1.49 ± 0.01 times faster than './raytracer_cg_clif'
2019-11-23 15:10:45 +01:00
bjorn3
7a27ded57f Enable object backend by default 2019-11-23 15:06:23 +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
d2eafd858f Update Cranelift 2019-11-16 15:22:43 +01:00
bjorn3
0c026853f5 Rustup to rustc 1.41.0-nightly (82cf3a448 2019-11-14) 2019-11-15 20:47:22 +01:00
bjorn3
42f8620432 Update dependencies 2019-11-14 21:38:08 +01:00
bjorn3
1f8a646592 Update cranelift and update git url for move to bytecodealliance
Fixes #796
2019-11-14 21:32:18 +01:00
bjorn3
177b0d2f57 Rustup to rustc 1.41.0-nightly (ded5ee001 2019-11-13) 2019-11-14 21:13:40 +01:00
bjorn3
ff7507e014 Update Cranelift and faerie 2019-11-11 20:39:47 +01:00
bjorn3
c0ec688daf Rustup to rustc 1.40.0-nightly (3fc30d884 2019-11-10) 2019-11-11 20:34:42 +01:00
bjorn3
bef2d8836f Fix backend_object build 2019-11-09 15:50:48 +01:00
bjorn3
5407b51aa7 Rustup to rustc 1.40.0-nightly (9e346646e 2019-11-08) 2019-11-09 11:14:18 +01:00
bjorn3
74ea53f1fb Update cranelift 2019-11-06 20:48:29 +01:00
bjorn3
0cad01f239 Rustup to rustc 1.40.0-nightly (aa4e57ca8 2019-10-31) 2019-11-01 20:22:59 +01:00
bjorn3
7f3da30e2c Update dependencies 2019-11-01 20:12:03 +01:00
bjorn3
62d1082190 Update cranelift and object 2019-11-01 20:08:42 +01:00
bjorn3
ab5542e0cc Update dependencies 2019-10-29 19:07:07 +01:00
bjorn3
7d0007d4aa
Merge pull request #759 from bjorn3/fix_macho_debuginfo
Fix debuginfo for machO
2019-10-26 18:37:53 +02: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
75c24b9c96
Merge pull request #758 from bjorn3/object_write
Add object::write as alternative object file writer
2019-10-19 12:54:13 +02:00
bjorn3
1901571d86 Fix travis ci config 2019-10-19 11:25:01 +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
0934dc84fd Update dependencies 2019-10-16 19:13:11 +02:00
bjorn3
59893d899f Update Cranelift 2019-10-16 19:01:39 +02:00
bjorn3
f0c774e05d Rustup to rustc 1.40.0-nightly (237d54ff6 2019-10-15) 2019-10-16 18:43:52 +02:00
bjorn3
fc261aa2f5 Update Cranelift 2019-10-09 20:34:25 +02:00
dependabot-preview[bot]
e948c1b672 Bump miniz_oxide from 0.3.2 to 0.3.3 (#744)
Bumps [miniz_oxide](https://github.com/Frommi/miniz_oxide) from 0.3.2 to 0.3.3.
- [Release notes](https://github.com/Frommi/miniz_oxide/releases)
- [Commits](https://github.com/Frommi/miniz_oxide/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-07 19:43:48 +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
8bb81fdc3b Update dependencies 2019-10-04 21:11:58 +02:00
bjorn3
a31ec018e8 Update Cranelift 2019-10-04 21:11:00 +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
dependabot-preview[bot]
39796d162e Bump cranelift from c7fd5d9 to ee6fe21 (#742)
Bumps [cranelift](https://github.com/CraneStation/cranelift) from `c7fd5d9` to `ee6fe21`.
- [Release notes](https://github.com/CraneStation/cranelift/releases)
- [Commits](c7fd5d9a47...ee6fe21f92)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-03 20:30:18 +02:00
bjorn3
3855a9098a
Merge pull request #729 from bjorn3/misc_changes
Update cranelift and use crates.io version of gimli
2019-10-03 19:20:34 +02:00
bjorn3
58a9b648e8 Update cranelift, faerie and target-lexicon 2019-10-03 18:55:01 +02:00
bjorn3
8cee28db3e Switch back to crates.io version of gimli
Fixes #727
2019-10-03 18:54:30 +02:00