bjorn3
|
b5082f7da8
|
Support unsized types
|
2018-08-30 20:21:21 +02:00 |
|
bjorn3
|
8111eee37a
|
Rustup to rustc 1.30.0-nightly (02cb8f2a4 2018-08-29)
|
2018-08-30 20:14:56 +02:00 |
|
bjorn3
|
6f58f94cdb
|
Add Caches to FunctionCx
|
2018-08-26 17:14:12 +02:00 |
|
bjorn3
|
42887dfdd9
|
Remove CodegenCx
|
2018-08-26 16:58:52 +02:00 |
|
bjorn3
|
e66f012d79
|
Remove stabilized feature gate
|
2018-08-26 16:28:00 +02:00 |
|
bjorn3
|
9dbc727b72
|
Rustfmt
|
2018-08-24 14:54:22 +02:00 |
|
bjorn3
|
0d15d9e5dd
|
Rustup to rustc 1.30.0-nightly (63d66494a 2018-08-23)
|
2018-08-24 14:51:02 +02:00 |
|
bjorn3
|
d348f5b473
|
Codegen all instance types
|
2018-08-22 18:53:57 +02:00 |
|
bjorn3
|
d87edae73b
|
Add CValue variant ByValPair
|
2018-08-22 12:35:07 +02:00 |
|
bjorn3
|
65641b8872
|
Rustfmt
|
2018-08-22 12:31:45 +02:00 |
|
bjorn3
|
8cd9bf3162
|
Use *_imm in some places
|
2018-08-22 11:45:54 +02:00 |
|
bjorn3
|
954d1e7bf2
|
Don't hardcode usize being 64 bit (fixes #8)
|
2018-08-22 10:54:32 +02:00 |
|
bjorn3
|
8a1c86473c
|
Remove CValue::Func
|
2018-08-19 10:50:39 +02:00 |
|
bjorn3
|
72f48776a1
|
Support cross-compiling (untested)
|
2018-08-18 16:36:47 +02:00 |
|
bjorn3
|
69834cafd3
|
Use instance_mir instead of optimized_mir
|
2018-08-18 16:09:49 +02:00 |
|
bjorn3
|
2ba1f35baf
|
Be honest about data mutability
|
2018-08-18 10:46:29 +02:00 |
|
bjorn3
|
871be2a469
|
Codegen entry wrapper (fixes #13)
|
2018-08-17 13:21:03 +02:00 |
|
bjorn3
|
7a3ba963e1
|
Rustfmt
|
2018-08-17 13:01:56 +02:00 |
|
bjorn3
|
f27dfc3ac9
|
Make CodegenCx generic over Backend
|
2018-08-17 12:57:41 +02:00 |
|
bjorn3
|
eb89830f21
|
Rustfmt
|
2018-08-16 20:09:26 +02:00 |
|
bjorn3
|
65fa8eddbb
|
Fix trait method calls
|
2018-08-15 16:33:19 +02:00 |
|
bjorn3
|
ca59e4405e
|
Reduce verbosity of output
|
2018-08-15 16:17:59 +02:00 |
|
bjorn3
|
a3760040b2
|
Disable some prinln!'s
|
2018-08-15 15:28:08 +02:00 |
|
bjorn3
|
7d3f2ba49f
|
Change build.sh
|
2018-08-15 15:24:05 +02:00 |
|
bjorn3
|
7f2a8f8a66
|
Disable some example which don't compile yet
|
2018-08-15 14:49:36 +02:00 |
|
bjorn3
|
7f2a887c83
|
Use either SimpleJIT or faerie, but not both
|
2018-08-15 14:45:32 +02:00 |
|
bjorn3
|
bd7031afb1
|
Fix codegen of SwitchInt
|
2018-08-15 14:36:45 +02:00 |
|
bjorn3
|
e6fb515406
|
Craneliftup
|
2018-08-15 12:36:13 +02:00 |
|
bjorn3
|
b752c88fef
|
Put metadata loader in its own file
|
2018-08-15 12:07:08 +02:00 |
|
bjorn3
|
5ea8bae114
|
Rustup to rustc 1.30.0-nightly (67390c0c3 2018-08-14)
|
2018-08-15 11:34:35 +02:00 |
|
bjorn3
|
a8ca0f02fc
|
Support emitting object files (fixes #5)
|
2018-08-14 22:01:18 +02:00 |
|
bjorn3
|
0f26781a86
|
Support simplejit and faerie at the same time
|
2018-08-14 20:58:24 +02:00 |
|
bjorn3
|
178aa32b0c
|
Make FunctionCx generic over Backend
|
2018-08-14 20:31:16 +02:00 |
|
bjorn3
|
f67ad9c120
|
Refactoring
|
2018-08-14 19:42:22 +02:00 |
|
bjorn3
|
0978710ffd
|
Codegen minicore
|
2018-08-14 12:13:07 +02:00 |
|
bjorn3
|
4b10e6e613
|
Workaround missing encoding for icmp.i8
|
2018-08-14 11:58:39 +02:00 |
|
bjorn3
|
257a607e3e
|
Change build.sh a bit
|
2018-08-13 19:40:40 +02:00 |
|
bjorn3
|
b9d7164eff
|
Fix and test checked binops
|
2018-08-13 19:14:55 +02:00 |
|
bjorn3
|
4ee2a864b5
|
Rustfmt
|
2018-08-13 19:03:30 +02:00 |
|
bjorn3
|
6d1f0068d1
|
Implement nested and mutable statics (fixes #9)
|
2018-08-13 19:02:42 +02:00 |
|
bjorn3
|
7f62fedeb8
|
Implement basic statics (#9)
|
2018-08-13 18:35:30 +02:00 |
|
bjorn3
|
c7ed1ce033
|
Rustfmt
|
2018-08-13 18:04:39 +02:00 |
|
bjorn3
|
d331758f6d
|
Add helper function to pop an element from a HashSet
|
2018-08-13 17:22:24 +02:00 |
|
bjorn3
|
4615359e86
|
Define data for all allocs during finalization
|
2018-08-13 16:58:07 +02:00 |
|
bjorn3
|
b707da40a5
|
Change todo map to set of alloc id's in constant.rs
|
2018-08-13 16:26:30 +02:00 |
|
bjorn3
|
49d24a6333
|
Remove elements from the todo list the correct way in constant.rs
|
2018-08-13 16:03:01 +02:00 |
|
bjorn3
|
c40788c1b2
|
Simplify define_global_for_alloc_id
|
2018-08-13 15:34:18 +02:00 |
|
bjorn3
|
1031c659e0
|
Refactoring of constant.rs in preparation for static codegen
|
2018-08-13 12:13:43 +02:00 |
|
bjorn3
|
23b4db227a
|
Implement basic incremental compilation
|
2018-08-12 20:49:43 +02:00 |
|
bjorn3
|
5859b9b65d
|
Rustfmt
|
2018-08-12 18:56:05 +02:00 |
|
bjorn3
|
8e2394874e
|
Group drop glue instances in unimpl log
|
2018-08-11 15:36:08 +02:00 |
|
bjorn3
|
57ba6411c2
|
Measure translation speed
|
2018-08-11 15:21:26 +02:00 |
|
bjorn3
|
46ebc2bc5c
|
Make the hello world example runnable
|
2018-08-11 15:05:57 +02:00 |
|
bjorn3
|
af69258971
|
Use tcx.symbol_name
|
2018-08-11 14:30:05 +02:00 |
|
bjorn3
|
39cc4fd3fc
|
Don't translate intrinsic func operand
|
2018-08-11 14:24:05 +02:00 |
|
bjorn3
|
d5a5aec022
|
Use get_function_name_and_sig for calling function from backend
|
2018-08-11 14:10:00 +02:00 |
|
bjorn3
|
50375db36c
|
Rustfmt
|
2018-08-11 13:59:34 +02:00 |
|
bjorn3
|
2e0d6d49bf
|
Deduplicate function name generation
|
2018-08-11 13:59:08 +02:00 |
|
bjorn3
|
419cbcbe2f
|
Refactor abi.rs to make it easier to change the abi
|
2018-08-11 12:37:50 +02:00 |
|
bjorn3
|
dc323d7ffa
|
Don't call finalize_all and then finalize_function
|
2018-08-11 12:07:42 +02:00 |
|
bjorn3
|
b391524b4f
|
Move return codegen to abi.rs
|
2018-08-11 11:01:48 +02:00 |
|
bjorn3
|
4df09f7325
|
Pass CPlace to codegen_intrinsic_call
|
2018-08-11 10:58:31 +02:00 |
|
bjorn3
|
973f191136
|
Move more code to codegen_intrinsic_call
|
2018-08-10 19:43:01 +02:00 |
|
bjorn3
|
29ab744f62
|
A small change
|
2018-08-10 19:31:02 +02:00 |
|
bjorn3
|
5ebcea23e4
|
Extract codegen_intrinsic_call
|
2018-08-10 19:20:13 +02:00 |
|
bjorn3
|
742abd011b
|
Implement intrinsic arith_offset
|
2018-08-09 15:56:24 +02:00 |
|
bjorn3
|
e1ac09a3f0
|
Implement bool -> int cast
|
2018-08-09 15:44:01 +02:00 |
|
bjorn3
|
4c312faf90
|
brz <-> brnz
|
2018-08-09 15:36:02 +02:00 |
|
bjorn3
|
a45f0ee6e3
|
Add a log for unimplemented stuff
|
2018-08-09 15:30:26 +02:00 |
|
bjorn3
|
48701d758d
|
Crash on some less code and fix a bug in discriminant read
|
2018-08-09 15:08:54 +02:00 |
|
bjorn3
|
e9422fd4d4
|
Implement Rvalue::Aggregate(AggregateKind::Array, ...)
|
2018-08-09 11:42:35 +02:00 |
|
bjorn3
|
2fd0d52834
|
Rustfmt
|
2018-08-09 11:25:14 +02:00 |
|
bjorn3
|
566803f288
|
Implement raw ptr -> usize, fn ptr -> usize, usize -> raw ptr casts
|
2018-08-09 11:23:04 +02:00 |
|
bjorn3
|
9a2b1d4ac3
|
Implement float -> float and int -> float casts
|
2018-08-09 11:16:46 +02:00 |
|
bjorn3
|
6c86274943
|
Implement raw ptr -> usize cast
|
2018-08-09 11:07:10 +02:00 |
|
bjorn3
|
f4e622cedc
|
Add basic ssa analyzer
|
2018-08-09 10:46:56 +02:00 |
|
bjorn3
|
5b85e0fec8
|
Rustfmt
|
2018-08-08 19:33:37 +02:00 |
|
bjorn3
|
620d65c661
|
Fix some small bugs
|
2018-08-08 16:00:14 +02:00 |
|
bjorn3
|
7f2e68e38e
|
Better unimplemented stuff handling
|
2018-08-08 15:38:03 +02:00 |
|
bjorn3
|
c4705af4e2
|
Implement intrinsics {ctlz,cttz}{,_nonzero} and ctpop
|
2018-08-08 14:39:46 +02:00 |
|
bjorn3
|
d4b6bce39c
|
Workaround two bugs
|
2018-08-08 12:53:09 +02:00 |
|
bjorn3
|
21c52c70b3
|
Rustfmt
|
2018-08-08 12:45:34 +02:00 |
|
bjorn3
|
822a181c87
|
Implement NullOp::SizeOf
|
2018-08-08 12:44:41 +02:00 |
|
bjorn3
|
1305d1ef23
|
Implement Rvalue::Repeat
|
2018-08-08 12:30:25 +02:00 |
|
bjorn3
|
efd203aa0b
|
Implement indexing for arrays
|
2018-08-08 12:22:16 +02:00 |
|
bjorn3
|
ece497cc84
|
Some misc changes
|
2018-08-08 10:39:10 +02:00 |
|
bjorn3
|
40176e03fd
|
Fix some bugs
|
2018-08-08 10:26:25 +02:00 |
|
bjorn3
|
018612cf22
|
Implement overflowing_* and *_with_overflowing
|
2018-08-08 09:49:42 +02:00 |
|
bjorn3
|
376ec8c258
|
Don't crash on checked binops (treated like unchecked ones atm)
|
2018-08-08 09:35:35 +02:00 |
|
bjorn3
|
5c601f7316
|
Rustfmt
|
2018-08-07 16:43:09 +02:00 |
|
bjorn3
|
e0b1176ae5
|
Update Cargo.lock and rustup to rustc 1.30.0-nightly (73c78734b 2018-08-05)
|
2018-08-07 16:34:45 +02:00 |
|
bjorn3
|
f001808249
|
Run rustfmt 0.9.0-nightly (69ad879 2018-07-27)
|
2018-07-31 12:25:16 +02:00 |
|
bjorn3
|
82dbd07806
|
Add support for calling C abi functions
|
2018-07-30 18:20:37 +02:00 |
|
bjorn3
|
37b61e0ca6
|
Rustup to rustc 1.29.0-nightly (866a71325 2018-07-29)
|
2018-07-30 16:57:40 +02:00 |
|
bjorn3
|
4901a66df1
|
Implement intrinsics assume and (un)likely
|
2018-07-30 16:02:26 +02:00 |
|
bjorn3
|
dc3ec67046
|
Implement intrinsics copy and copy_nonoverlapping
|
2018-07-30 15:58:46 +02:00 |
|
bjorn3
|
75a45965bb
|
Add support for binop rem on floats
|
2018-07-30 15:34:34 +02:00 |
|
bjorn3
|
9b06ec8f1d
|
Implement intrinsic discriminant_value and fix bug in discriminant reading
|
2018-07-30 14:36:32 +02:00 |
|
bjorn3
|
812fd6daca
|
Implement some intrinsics
|
2018-07-29 17:22:40 +02:00 |
|
bjorn3
|
dc4f234115
|
Implement float binops
|
2018-07-29 17:09:17 +02:00 |
|