Return after signaling pass failure
Sun, Apr 11
Traverse only blocks where the ref counted value has users
Sat, Apr 10
Do not lookup in the hash map twice.
Update reference counting pass documentation
Wed, Apr 7
@mehdi_amini will you have time to take a look at this change? Diffs looks large, but really no new ideas here. I plan to get back to working on async stuff next week, and need this to land first.
Mon, Apr 5
Sat, Apr 3
It’s impossible to statically dispatch to the correct lambda with such API
(or at least a very difficult exercise). std::visit takes a single visitor
and multiple variants, not the other way around. Stitching lambdas together
is just one way of constructing a visitor type, it can be a plain old class
with overloaded operator() set.
Fri, Apr 2
std::forward with inheritance does not remove a need to invoke a copy constructors, I managed to implement overloaded using a struct member and super ugly SFINAE that does properly captures lambdas by reference when lambda is a lvalue, however it still does need to copy when lambda is rvalue: https://godbolt.org/z/dqshPW6h1 (top most example, I just count the number of HeavyStuff::HeavyStuff(HeavyStuff const&) copy constructor calls in the generated code). But it does look much worse than inheritance.
Tue, Mar 30
True llvm::visit API similar to std::visit requires visited type to be a std::variant (llvm::variant?) and implementng it is a lot of code (e.g. implementation in absl). Given that it's unlikely that PointerUnion at any point will become std::variant, I'd say that it will always be a separate API. And for this usability improvement the change is not that large.
Thu, Mar 25
Thu, Mar 18
Tue, Mar 16
Mon, Mar 15
Mar 12 2021
Mar 11 2021
They are actually used but only inside assert, is it a release build when it is a warning?
Mar 10 2021
Mar 9 2021
Feb 27 2021
Feb 24 2021
Fix integration tests
Optimize frexp for positive values
Feb 23 2021
Feb 22 2021
Feb 21 2021
Use explisit SiToFp cast operation
Feb 19 2021
Feb 18 2021
Fix xtyle warning
Feb 17 2021
Documen fma operation semantics
Register polynomial expansion as test pass
Feb 16 2021
Rename fast-math to math-polynomial-approximation pass
Where should this go when the standard dialect is split into pieces?
Feb 15 2021
Feb 3 2021
Feb 2 2021
Feb 1 2021
The solution was to have it in a separate populate* function that the client can call when necessary.
Populate expand-tanh patterns in std-to-llvm lowering
Jan 31 2021
Remove test-expand-tanh pass