Commit Graph

1138 Commits

Author SHA1 Message Date
bjorn3
78cdcd62be Don't limit vector size 2019-12-25 14:38:37 +01:00
bjorn3
73fd311291 [WIP] Real simd support 2019-12-25 14:38:37 +01:00
bjorn3
c3daf6d220 Add clif ir comment for write_cvalue 2019-12-25 14:38:22 +01:00
bjorn3
2920cc48e6 Fix SSA analysis for value types with PassMode::ByRef 2019-12-25 14:35:16 +01:00
bjorn3
ca93bcba5d Improve lane_type_and_count 2019-12-25 14:34:59 +01:00
bjorn3
7ff01a4d59 Use mir::SourceInfo again in FunctionCx.source_info_set
Fixes #800
2019-12-24 12:44:07 +01:00
bjorn3
399cada762 Directly depend on cranelift_{codegen,frontend}
Fixes #838
2019-12-24 12:43:20 +01:00
bjorn3
047eaf14ba Rustup to rustc 1.42.0-nightly (9ae6cedb8 2019-12-23) 2019-12-24 12:27:11 +01:00
bjorn3
d89f307ea2 Move simd intrinsics to intrinsics/simd.rs 2019-12-23 13:58:17 +01:00
bjorn3
67a0fdad19 Make llvm_intrinsics a submodule of intrinsics 2019-12-23 13:57:55 +01:00
bjorn3
95b08a7418
Merge pull request #841 from bjorn3/dependabot/cargo/smallvec-1.1.0
Bump smallvec from 1.0.0 to 1.1.0
2019-12-23 13:57:36 +01:00
dependabot-preview[bot]
f0b553df5a
Bump smallvec from 1.0.0 to 1.1.0
Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/servo/rust-smallvec/releases)
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.0.0...v1.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 12:50:16 +00:00
bjorn3
82b52a8744 Rustup to rustc 1.42.0-nightly (9b98af84c 2019-12-22) 2019-12-23 13:25:22 +01:00
bjorn3
15a310345d Improve local ir comments 2019-12-22 17:04:33 +01:00
bjorn3
df641e1679 Update Cranelift
bytecodealliance/cranelift#1305 has been fixed.
2019-12-22 17:04:33 +01:00
bjorn3
e63a94fca6 Rustup to rustc 1.42.0-nightly (fc5deca21 2019-12-21) 2019-12-22 16:53:06 +01:00
bjorn3
2485994803 Rustup to rustc 1.42.0-nightly (01a46509a 2019-12-20) 2019-12-21 11:22:12 +01:00
bjorn3
dd675a26fd Revert "Update Cranelift"
This reverts commit 81eb73365e.

Caused SIGSEGV: https://github.com/bytecodealliance/cranelift/issues/1305
2019-12-20 22:03:32 +01:00
bjorn3
ad72afaad3 Remove CPlaceInner::Stack 2019-12-20 22:00:12 +01:00
bjorn3
3d363d54fd Update log dependency 2019-12-20 21:39:21 +01:00
bjorn3
81eb73365e Update Cranelift 2019-12-20 21:34:46 +01:00
bjorn3
5cb81cdb16
Merge pull request #839 from bjorn3/fold_offset_into_load_store
Some runtime optimizations
2019-12-20 21:32:39 +01:00
bjorn3
fbbc910ddc [OPT] Emit stack_{load,store} where possible 2019-12-20 19:30:56 +01:00
bjorn3
8f5ef6172c Remove to_addr and to_addr_maybe_unsized 2019-12-20 19:10:08 +01:00
bjorn3
696053e69f Set memflags for vtable loads 2019-12-20 16:16:28 +01:00
bjorn3
967709f31a [OPT] Use load and store offsets instead of iadd_imm 2019-12-20 16:02:47 +01:00
bjorn3
76cfa333be Fix init and uninit intrinsics for u/i128 2019-12-20 12:24:48 +01:00
bjorn3
a125b62536 [OPT] Don't force return value of call to stack
Benchmark #1: ./simple_raytracer_before
  Time (mean ± σ):     14.420 s ±  0.568 s    [User: 14.376 s, System: 0.026 s]
  Range (min … max):   13.730 s … 15.170 s    10 runs

Benchmark #2: simple_raytracer_after
  Time (mean ± σ):     13.679 s ±  0.576 s    [User: 13.628 s, System: 0.020 s]
  Range (min … max):   12.761 s … 14.552 s    10 runs

Summary
  './simple_raytracer_after' ran
    1.05 ± 0.06 times faster than './simple_raytracer_before'
2019-12-20 12:13:07 +01:00
bjorn3
a528e37302 Fix codegen of ctlz and cttz intrinsics 2019-12-20 12:01:55 +01:00
bjorn3
8d2db1b75d Monomorphize type of promoted 2019-12-18 20:41:07 +01:00
bjorn3
79ec8948d8 Fix some warnings 2019-12-18 20:26:41 +01:00
bjorn3
bfff2a50fd Fix debug build 2019-12-18 20:25:05 +01:00
bjorn3
1c79cf4c0a [OPT] Use RETURN_PLACE instead of fn_sig.output() to get return layout 2019-12-17 18:41:13 +01:00
bjorn3
86cdd1909b [OPT] Use IndexVec instead of HashMap in ssa analysis 2019-12-17 17:49:12 +01:00
bjorn3
172522c2e7 [OPT] Push fx.monomorphize to the callers of fx.layout_of
This prevents some repeated monomorphizations
2019-12-17 16:58:34 +01:00
bjorn3
d79965f075
Third try to fix CI 2019-12-17 16:55:29 +01:00
bjorn3
f10514f018
Really fix CI 2019-12-17 16:37:57 +01:00
bjorn3
d502f8e652 [OPT] Avoid calling target_triple for every call to codegen 2019-12-17 16:34:48 +01:00
bjorn3
ad1f885002 [OPT] Don't call .to_string() on MonoItem's 2019-12-17 16:34:48 +01:00
bjorn3
856079bcaa
Fix testing when lldb is not installed 2019-12-16 21:47:13 +01:00
bjorn3
3e50a831e5 Optimize line_program_add_file 2019-12-16 13:23:41 +01:00
bjorn3
996bfd06ae
Merge pull request #802 from bjorn3/debuginfo_locals
Debuginfo locals
2019-12-16 12:14:45 +01:00
bjorn3
beda104a2b Disable local debuginfo for now 2019-12-16 12:12:51 +01:00
bjorn3
74ca55d230 Rustup 2019-12-16 12:11:14 +01:00
bjorn3
7a4fe12d31 Rustup to rustc 1.41.0-nightly (e87a205c2 2019-11-27) 2019-12-16 12:07:31 +01:00
bjorn3
b86eb2e8ba Some optimizations
* Only format global _comments when debug_assertions are enabled
* Only call build_value_labels_ranges in base.rs when debug_assertions are enabled

Benchmark #1: CHANNEL='pre' ../cargo.sh build
  Time (mean ± σ):     17.657 s ±  1.050 s    [User: 31.871 s, System: 3.014 s]
  Range (min … max):   16.907 s … 20.394 s    10 runs

Benchmark #2: ../cargo.sh build
  Time (mean ± σ):     16.640 s ±  0.255 s    [User: 30.238 s, System: 2.965 s]
  Range (min … max):   16.413 s … 17.186 s    10 runs

  Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet PC without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.

Summary
  '../cargo.sh build' ran
    1.06 ± 0.07 times faster than 'CHANNEL='pre' ../cargo.sh build'
2019-12-16 12:07:31 +01:00
bjorn3
c84ff8504a Change test script 2019-12-16 12:07:31 +01:00
bjorn3
08217d1bde Emit DW_TAG_structure_type including fields for structs 2019-12-16 12:07:12 +01:00
bjorn3
ab7ad2caeb Use set_val_label before every def_var 2019-12-16 12:07:12 +01:00
bjorn3
0244d19ebb Fix translate_loc for ValueLoc::Stack 2019-12-16 12:07:12 +01:00