Commit Graph

555 Commits

Author SHA1 Message Date
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
556d708f20 Rustup to rustc 1.39.0-nightly (72b2abfd6 2019-08-29) 2019-08-30 11:42:42 +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
bb634f3c88 Always use Linkage::Import for relocations targeting a static 2019-08-21 14:57:12 +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
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
43e68319fa Rustup to rustc 1.39.0-nightly (2111aed0a 2019-08-17) 2019-08-18 11:30:13 +02:00
bjorn3
21141eb235 Don't keep alloc_map locked while calling data_id_for_static
Fixes #670
2019-08-17 12:42:57 +02:00
bjorn3
480db7dd9e Implement system abi 2019-08-16 18:16:24 +02:00
bjorn3
2558bf2f6b Workaround for missing #[rustc_args_required_const(..)] support
cc #666
2019-08-16 16:04:50 +02:00
bjorn3
7c7a8e8367 Workaround for missing icmp{,_imm}.i128 legalizations
Fixes #667
2019-08-15 11:36:23 +02:00
bjorn3
9505d60a24 Cast rhs to lhs type for shl and shr 2019-08-14 15:18:05 +02:00
bjorn3
b4e55cdedd Refactor num.rs 2019-08-14 15:03:52 +02:00
bjorn3
db071db95a Calculate sign in trans{,_checked}_int_binop instead of caller 2019-08-14 13:01:55 +02:00
bjorn3
32cb5b8c8e Move discriminant get and set to discriminant.rs 2019-08-14 12:01:41 +02:00
bjorn3
883894a07a Move trans_*_binop to num.rs 2019-08-14 11:52:39 +02:00
bjorn3
581b6ea5be Misc changes 2019-08-14 11:36:24 +02:00
bjorn3
11b2b86b08 Fix some rustc tests
* Check for `#[rustc_error]` attribute.
* Use the same weak static type error message as cg_llvm
2019-08-13 19:42:16 +02:00
bjorn3
6f23a053e4 Fix a panic on type size overflow 2019-08-13 19:40:48 +02:00
bjorn3
70fbca287c Fix intrinsic::transmute::<_, <uninhabited>>(...) 2019-08-13 19:39:59 +02:00
bjorn3
f02d135057 Print error for #[rustc_def_path] like expected 2019-08-13 19:39:46 +02:00
bjorn3
9fdef69fe4 Fix uninit intrinsic for zst values 2019-08-13 19:37:51 +02:00
bjorn3
f9c20ce244 Rustup to rustc 1.38.0-nightly (534b42394 2019-08-09) 2019-08-13 12:18:35 +02:00
bjorn3
36184d286c Remove outdated FIXME and add some new FIXME 2019-08-13 11:46:59 +02:00
bjorn3
f93cd924ec Implement float -> small int cast
Also workaround small signed int eq/ne binop clif bug
2019-08-12 17:25:16 +02:00
bjorn3
314141392a Implement log2{f32,f64} intrinsics 2019-08-12 15:54:24 +02:00
bjorn3
57bc9d8daf Extract jit imported symbols loading functionAlso make the staticlib load error non fatal 2019-08-11 19:04:56 +02:00
bjorn3
bd19af37f4 Remove debugging println 2019-08-11 18:12:49 +02:00
bjorn3
05b7312db2 Misc changes 2019-08-11 17:33:52 +02:00
bjorn3
9041db962d Fix it 2019-08-11 17:06:18 +02:00
bjorn3
3000a3f63d [WIP] Implement dylib loading for the JIT 2019-08-10 16:50:23 +02:00
bjorn3
dbac219207 Libtest support 2019-08-09 12:46:24 +02:00
bjorn3
e7a507863c Implement real saturating behaviour for the saturating_* intrinsics with unsigned ints 2019-08-09 12:35:51 +02:00
bjorn3
6414f03644 Don't omit overflow checks for *_with_overflow intrinsics when compiling without debug assertions 2019-08-09 12:35:51 +02:00