David M. Lloyd

Results 306 comments of David M. Lloyd

Yeah. Unfortunately we rely on it. Ideally we'd place our own statepoint calls based on live value analysis but that requires improvements to the scheduler, which requires a few other...

Each toolchain has the opportunity to include/exclude itself based on the `Platform` which should allow `clang`/`gcc` to decline, and (a future) `emcc` to include itself as needed.

Regarding `isWasm()`, I was thinking of replacing some of the `isXxx` methods with intrinsics that reference the `Platform` from the compilation context.

I've been thinking about this, and I'm warming up to it a lot. But there are a few questions about implementation. Let's take `RangeCheck` for the first case. One possible...

Also I'd like to see an optimization stage where we recognize `If(CmpEq(val,NullLiteral),x,y)` (and equivalent patterns) and replace `val` on any outgoing `phi` for `x` with `NullLiteral` and for `y` with...

Another useful optimization would be to recognize `CmpLt(val,LengthOf(array))` and `CmpGe(val,0)` pattern combinations and raise them to `RangeCheckedValue`.

These intrinsics are one of the few things that break the "rule" of only adding "new" code during `ADD`. Expanding them early might be a good option - it might...

I think this is ready to go in. The facts API itself is functional, and we can flesh out the individual facts and/or switch over to them as a later...

Will be resolved by https://github.com/qbicc/qbicc-class-library/pull/231.