Commit Graph

1448 Commits

Author SHA1 Message Date
bjorn3
fbe36ad68a Revert "Use CachingSourceMapView::byte_pos_to_line_and_col instead of SourceMap::lookup_char_pos"
This reverts commit eb4fc45310.

It caused a panic while compiling simple-raytracer
2020-02-03 21:36:36 +01:00
bjorn3
eb4fc45310 Use CachingSourceMapView::byte_pos_to_line_and_col instead of SourceMap::lookup_char_pos
The former calculates byte offsets instead of char offsets. It is faster
to calculate byte offsets than char offsets. Also most DWARF producers
and consumers use byte offsets instead of char offsets.
2020-02-03 21:05:18 +01:00
bjorn3
33e73091f8 Don't mark unwind ebbs as cold
This fixes the code_layout optimization, as it would previously try to
move non-existing ebbs.

Fixes #877
2020-02-01 16:47:35 +01:00
bjorn3
52d183ead6 Update smallvec to 1.2.0 2020-02-01 12:35:45 +01:00
bjorn3
8150f737c0 Rustup to rustc 1.42.0-nightly (cd1ef390e 2020-01-31) 2020-02-01 12:35:03 +01:00
bjorn3
f12c0d8ac7 Update thiserror 2020-01-29 11:32:59 +01:00
bjorn3
7ec6bb21b6 Update Cranelift 2020-01-29 11:31:17 +01:00
bjorn3
9cdea312cf Rustup to rustc 1.42.0-nightly (3761dcd34 2020-01-28) 2020-01-29 11:21:29 +01:00
dependabot-preview[bot]
2ad2ea7343
Merge pull request #883 from bjorn3/dependabot/cargo/cranelift-codegen-9a578c1 2020-01-27 08:07:20 +00:00
dependabot-preview[bot]
09c97475fb
Bump cranelift-codegen from 93e3bc1 to 9a578c1
Bumps [cranelift-codegen](https://github.com/bytecodealliance/cranelift) from `93e3bc1` to `9a578c1`.
- [Release notes](https://github.com/bytecodealliance/cranelift/releases)
- [Commits](93e3bc1998...9a578c1092)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 05:09:35 +00:00
bjorn3
d821f154c5 Disable the code_layout optimization
When compiling libcore, it causes ebb params to be dropped for a certain function
2020-01-25 17:55:48 +01:00
bjorn3
92d4356130 Add #[cfg(debug_assertions)] to write_clif_file
This silences a warning in release mode
2020-01-25 17:54:49 +01:00
bjorn3
8de317dd8f Update compiler_builtins 2020-01-25 17:24:45 +01:00
bjorn3
74c7a7b7c5 Replace unimplemented! with unreachable! when it will never be supported 2020-01-25 16:24:48 +01:00
bjorn3
242f2e3c75 Fix correctness of optimization 2020-01-25 16:24:15 +01:00
bjorn3
9cfb9470c5 Allow unsized types as function parameters 2020-01-25 16:23:54 +01:00
bjorn3
bcb469e147 Remove outdated troubleshooting section
The nightly version is pinned since recently
2020-01-25 12:28:22 +01:00
bjorn3
eec023eb85 Rustup to rustc 1.42.0-nightly (c2d141df5 2020-01-24) 2020-01-25 12:01:35 +01:00
bjorn3
1db38c0dfc Re-introduce FnBox 2020-01-22 20:24:17 +01:00
bjorn3
85ce626865 Improve PlaceElem::Subslice handling 2020-01-22 20:10:00 +01:00
bjorn3
ddd3d95a7e Make atomic instructions atomic using a global lock 2020-01-22 20:09:55 +01:00
bjorn3
a3f378754b Warn when using LTO 2020-01-22 20:06:05 +01:00
bjorn3
aa5c49cf2f Make unused stack slots zero sized in stack2reg 2020-01-22 18:57:36 +01:00
bjorn3
167c7f2201 Don't force static refs to const memory 2020-01-22 18:56:50 +01:00
bjorn3
c4acc78e4d Allow more types in CValue::const_val 2020-01-22 18:56:36 +01:00
bjorn3
83f6ef1558 Rustup to rustc 1.42.0-nightly (689fca01c 2020-01-17) 2020-01-22 18:09:20 +01:00
bjorn3
3197971095 Update dependencies 2020-01-22 18:09:00 +01:00
bjorn3
24fd604540 Update Cranelift
As basic blocks now work, they are enabled.
2020-01-22 18:04:11 +01:00
dependabot-preview[bot]
41d34b54a9
Merge pull request #872 from bjorn3/dependabot/cargo/cranelift-codegen-062e984 2020-01-20 06:35:05 +00:00
dependabot-preview[bot]
98fc3b0c27
Bump cranelift-codegen from 3268b0d to 062e984
Bumps [cranelift-codegen](https://github.com/bytecodealliance/cranelift) from `3268b0d` to `062e984`.
- [Release notes](https://github.com/bytecodealliance/cranelift/releases)
- [Commits](3268b0d11f...062e984cdd)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 05:11:56 +00:00
bjorn3
160dcefab8 Correct commit message in rustup.sh 2020-01-15 20:20:30 +01:00
bjorn3
6a246dca93 rustc 1.42.0-nightly (31dd4f4ac 2020-01-13) 2020-01-15 20:04:33 +01:00
bjorn3
31403cf50a Add rustup script 2020-01-15 19:56:25 +01:00
bjorn3
99407a4057 Display warning when overriding default rustc version in cargo.sh 2020-01-15 19:56:18 +01:00
Andrew Chin
a288a5ea06 Store nightly snapshot in rust-toolchain file, and use it in cargo.sh
The rust-toolchain file can also store an exact nightly snapshot
(instead of just "nightly"), so we can store whatever snapshot that
rustc_codegen_cranelift is known to work with.

This also lets us add a new feature to `cargo.sh` to let it use the
exact same nightly snapshot as cg_clif.  If there's a nightly compiler
mismatch, you get a confusing error message like:

    error: couldn't load codegen backend "librustc_codegen_cranelift.so":
    "librustc_driver-681e2b4f66c73d3e.so: cannot open
    shared object file: No such file or directory"

So doing this automatically in cargo.sh is useful.
2020-01-15 12:05:18 -05:00
bjorn3
e798f98bb4 Fix debug build 2020-01-15 13:18:54 +01:00
bjorn3
217beab62a Reduce the amount of calls to layout_of 2020-01-15 13:18:54 +01:00
bjorn3
0669a49b10
Use release mode instead of debug mode in the readme
cc #865
2020-01-15 11:53:24 +01:00
bjorn3
09b44f5d25 Reduce visibility 2020-01-14 17:11:06 +01:00
bjorn3
29fafb44b1 Optimize .debug_line generation
This reduces the amount of time spent in .debug_line generation by about 50%

Fixes #807
2020-01-14 16:11:23 +01:00
bjorn3
4fbb45c3f3 Update gimli to 0.20.0 2020-01-14 14:19:43 +01:00
bjorn3
3311c1f7fe Remove some depencencies 2020-01-14 14:16:06 +01:00
bjorn3
b22b184969 Update Cranelift 2020-01-14 13:55:08 +01:00
bjorn3
b44d6311ca Rustup to rustc 1.42.0-nightly (3ebcfa145 2020-01-12) 2020-01-14 12:29:04 +01:00
bjorn3
c74b306037 Move all cold code to the end of the function
Fixes #836

Benchmark #1: simple-raytracer/raytracer_cg_clif
  Time (mean ± σ):      9.250 s ±  0.056 s    [User: 9.213 s, System: 0.015 s]
  Range (min … max):    9.151 s …  9.348 s    20 runs

Benchmark #2: simple-raytracer/raytracer_cg_clif_cold_separated
  Time (mean ± σ):      9.179 s ±  0.101 s    [User: 9.141 s, System: 0.016 s]
  Range (min … max):    9.070 s …  9.473 s    20 runs

Summary
  'simple-raytracer/raytracer_cg_clif_cold_separated' ran
    1.01 ± 0.01 times faster than 'simple-raytracer/raytracer_cg_clif'
2020-01-11 17:57:18 +01:00
bjorn3
38797f8bad Implement #[track_caller]
Fixes #848
2020-01-11 17:10:42 +01:00
bjorn3
fed3b26563 Don't panic on reported const eval errors 2020-01-11 14:28:18 +01:00
bjorn3
2a082209a6 Fix PlaceElem::Subslice length computation 2020-01-11 14:28:18 +01:00
bjorn3
0080f55df2 Fix build 2020-01-11 14:27:39 +01:00
bjorn3
9dad9cf88d Improve build time for build scripts in release mode 2020-01-10 14:21:45 +01:00