lp://staging/~mgiuca/mars/double-unbox
- Get this branch:
- bzr branch lp://staging/~mgiuca/mars/double-unbox
Branch merges
- Matt Giuca: Pending requested
-
Diff: 204 lines (+32/-45)2 files modifiedlib/runtime.ll (+20/-34)
src/backend_llvm.m (+12/-11)
Branch information
Recent revisions
- 1343. By Matt Giuca
-
runtime.ll: Change Num representation from double* to double.
Doubles are now unboxed.
Note that passing Num to a closure template is currently broken due to LP: #1159320. - 1342. By Matt Giuca
-
runtime.ll: Changed type of %Any from i8* to i64.
This forces it to be 64-bits whereas previously it was based on the machine word size.
The goal is to support unboxed 64-bit doubles, which was previously impossible on 32-bit platforms.
(See LP: #1159318.) - 1341. By Matt Giuca
-
backend_llvm: Extended bitcast_if_required to perform the correct bitcast given the source and dest type.
Previously, it would always make a bitcast instruction, which is only valid for pointer-to-pointer casts.
Now it can make trunc, zext, inttoptr, ptrtoint or bitcast instructions.
It cannot yet do floating point bitcasts. - 1340. By Matt Giuca
-
llvm: Added build_trunc, build_zext and build_sext, as well as the constant versions.
- 1339. By Matt Giuca
-
llvm: Added reversible predicates for all of the LLVM types.
Retained all of the original functions, as helper functions around the more general predicates. - 1338. By Matt Giuca
-
runtime: Renamed float_ascii_width to double_ascii_width (which it actually is).
- 1337. By Matt Giuca
-
backend_llvm: Refactor init_ll_
types_builtins to make it easier to add more built-in types. - 1336. By Matt Giuca
-
unittest: assert_eq now prints the values of x and y instead of the supplied message.
This is generally more helpful.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp://staging/mars