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
bjorn3
4826320680
Add debuginfo test
2019-12-16 12:06:52 +01:00
bjorn3
8edbbc45f7
Implement local reading for locals on stack
2019-12-16 12:04:34 +01:00
bjorn3
d8e9148c2e
Rustfmt debuginfo
2019-12-16 12:04:34 +01:00
bjorn3
c5c6ce87d2
Small change
2019-12-16 12:04:34 +01:00
bjorn3
beda7870fb
Split debuginfo/line_info.rs from debuginfo/mod.rs
2019-12-16 12:04:34 +01:00
bjorn3
ed758912d3
Split debuginfo/emit.rs part out of debuginfo/mod.rs
2019-12-16 12:04:34 +01:00
bjorn3
d07fe816af
Move debuginfo.rs to debuginfo/mod.rs
2019-12-16 12:04:34 +01:00
bjorn3
62c3ca28e1
Extract local definition from FunctionDebugContext::define
2019-12-16 12:04:34 +01:00
bjorn3
50f7110cb6
Fix local value reading
...
LLDB doesn't understand base address entries
2019-12-16 12:04:34 +01:00
bjorn3
3fed880057
[WIP] Set local DW_AT_location
2019-12-16 12:04:34 +01:00
bjorn3
21f0dfd014
Monomorphize locals
2019-12-16 12:04:34 +01:00
bjorn3
a962835685
[WIP] debuginfo: Add types for locals
2019-12-16 12:04:34 +01:00
bjorn3
c0aedfef96
[WIP] debuginfo for locals
2019-12-16 12:04:34 +01:00
bjorn3
306bf8ec1c
Update dependencies
2019-12-16 12:03:58 +01:00
bjorn3
83431367d9
Update Cranelift
2019-12-16 12:00:29 +01:00
bjorn3
b97df0b07f
Fix Linux libtest
2019-12-16 11:50:20 +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
0cbcccf4c1
Update Cranelift
2019-12-08 11:51:18 +01:00
bjorn3
d14ad35884
Rustup to rustc 1.41.0-nightly ( 5c5c8eb86
2019-12-07)
2019-12-08 11:32:03 +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