bjorn3
71482b5ca6
Merge pull request #700 from bjorn3/upstream_cranelift
...
Use upstream cranelift
2019-09-11 11:01:04 +02:00
bjorn3
3a8dd34831
Update Cranelift
2019-09-10 20:37:16 +02:00
bjorn3
ce0be229d7
Use upstream cranelift
2019-09-08 19:18:17 +02:00
bjorn3
b0e5c78ad2
Disable inline assembly in core::hint::black_box
2019-09-07 11:01:22 +02:00
bjorn3
629f7ab4a3
Don't perform neg overflow checks when they are disabled
2019-09-07 11:00:49 +02:00
bjorn3
bfb49e7d19
Rustup to rustc 1.39.0-nightly ( 6e19f3f38
2019-09-06)
2019-09-07 10:51:00 +02:00
bjorn3
a2e905f22d
Correctly align offset for dst field projections
...
Fixes #681
2019-09-02 20:09:37 +02:00
bjorn3
cd0e862282
Update ar
...
Fixes #672
2019-09-01 11:17:01 +02:00
bjorn3
19f0255428
Merge pull request #694 from Atul9/cargo-fmt
...
Format code using 'cargo fmt'
2019-08-31 19:56:15 +02:00
Atul Bhosale
f481a4b685
Format code using 'cargo fmt'
2019-08-31 22:58:09 +05:30
bjorn3
5b17cf2083
Add ebobby/simple-raytracer as benchmark
...
cc #684
2019-08-30 17:31:37 +02:00
bjorn3
f99b527e1c
Merge pull request #693 from bjorn3/abi_refactor
...
Abi handling refactor
2019-08-30 16:35:58 +02:00
bjorn3
15b9834d7d
Don't copy ByRef passed types to local stack slot when not necessary
...
Eg when the local is immutable **and** the type is freeze.
This makes the simple raytracer runtime benchmark 1% faster than cg_llvm
without optimizations. Before it was 2% slower.
cc #691
cc #684
2019-08-30 15:42:07 +02:00
bjorn3
76d2e085db
Improve abi ir comments a bit
2019-08-30 15:07:15 +02:00
bjorn3
d731c4a6a7
Move ir comments generation to abi/comments.rs
...
Also list locals stored in ssa vars in the comments
2019-08-30 14:21:24 +02:00
bjorn3
deeae2fce4
Small change
2019-08-30 12:42:24 +02:00
bjorn3
16593d264c
Move return handling to abi/returning.rs
2019-08-30 12:30:57 +02:00
bjorn3
68dcfc1c78
Move pass mode handling to abi/pass_mode.rs
2019-08-30 11:58:52 +02:00
bjorn3
6427eaf68b
Move abi.rs to abi/mod.rs
2019-08-30 11:51:33 +02:00
bjorn3
b3311ed4d5
Update Cargo.lock
2019-08-30 11:46:07 +02:00
bjorn3
556d708f20
Rustup to rustc 1.39.0-nightly ( 72b2abfd6
2019-08-29)
2019-08-30 11:42:42 +02:00
bjorn3
f1b6bd9480
Update my fork of cranelift for an isplit fix
2019-08-29 11:24:08 +02:00
bjorn3
d9d8c69af1
Split extract layout field of all CPlace variants into a sparate struct
2019-08-29 11:23:19 +02:00
bjorn3
1018a34662
Don't add stack_addr intructions to prelude
...
Speeds up simple-raytracer by 30% (cc #684 )
Also reduces the size of the simple-raytracer binary from 9.2MB to 8.6MB
2019-08-28 17:59:48 +02:00
bjorn3
6127632c76
Use f{32,64}const insts instead of loading from a global value
2019-08-28 16:38:53 +02:00
bjorn3
40629999bc
Don't force RETURN_PLACE to stack
...
Speeds up simple-raytracer by 7% (cc #684 )
2019-08-28 15:29:10 +02:00
bjorn3
b9dc950a11
Rustup to rustc 1.39.0-nightly ( 9b91b9c10
2019-08-26)
2019-08-27 11:01:36 +02:00
bjorn3
e704eb5259
Sync discriminant getter and setter with upstream
...
Fixes #683
2019-08-26 11:03:06 +02:00
bjorn3
f6c39fa701
Rustup to rustc 1.39.0-nightly ( eeba189cf
2019-08-24)
2019-08-25 16:30:36 +02:00
bjorn3
02b68aa747
Update dependencies
...
The faerie update fixes macOS build (m4b/faerie#90 )
2019-08-22 12:37:24 +02:00
bjorn3
bb634f3c88
Always use Linkage::Import for relocations targeting a static
2019-08-21 14:57:12 +02:00
bjorn3
e64da833c9
Add patch for rustc regression
...
Filled as 63687
2019-08-21 14:54:01 +02:00
bjorn3
1f90b04cd6
Fix float -> u/i128 cast
...
The original test casts were optimized away by rustc,
so cg_clif never saw them.
cc #668
2019-08-21 14:35:48 +02:00
bjorn3
b2d6705fe2
Implement u/i128 <-> float casts
...
Fixes #668
2019-08-21 14:01:29 +02:00
bjorn3
3fcd54088c
Implement saturating_{add,sub} intrinsics
2019-08-20 10:40:08 +02:00
bjorn3
f99d31dbfe
Implement pow{f32,f64} intrinsics
2019-08-19 17:16:21 +02:00
bjorn3
95908f61a0
Add unimpl! for cast between 128bit int and float
2019-08-19 16:43:25 +02:00
bjorn3
ae428a2d70
Fix saturating_{add,sub} for 8bit and 16bit ints
2019-08-19 16:42:56 +02:00
bjorn3
4a8bb164c6
Don't pass -Zalways-encode-mir to rustc
2019-08-19 16:27:33 +02:00
bjorn3
0e35e4ea19
Set correct linkage for statics
2019-08-19 16:27:21 +02:00
bjorn3
edbb5730ea
Implement copysign{f32,f64} intrinsics
2019-08-19 16:27:09 +02:00
bjorn3
ce860e5fde
Fix cross crate static duplicate codegen
2019-08-19 16:26:20 +02:00
bjorn3
2a20cc0b94
Use anonymous lifetimes where possible
2019-08-18 16:52:07 +02:00
bjorn3
1bee110d95
Let codegen_get_discriminant accept CValue instead of CPlace
2019-08-18 16:19:33 +02:00
bjorn3
5b818e5e0f
Use native ar
to create archive files
...
Workaround for #672
2019-08-18 16:06:59 +02:00
bjorn3
2add773752
Don't run jit tests on macOS
...
Workaround for #671
2019-08-18 15:48:31 +02:00
bjorn3
f61b36a396
Don't run a alignment assertion on macOS
2019-08-18 15:30:06 +02:00
bjorn3
7aa4cb874a
Misc changes
2019-08-18 14:57:46 +02:00
bjorn3
8e400008ff
Disable debug assertions for libstd
...
This is necessary on macOS, because of alignment problems
2019-08-18 14:49:10 +02:00
bjorn3
43e68319fa
Rustup to rustc 1.39.0-nightly ( 2111aed0a
2019-08-17)
2019-08-18 11:30:13 +02:00