Daniel Thornburgh
Daniel Thornburgh
The first thing that immediately comes to mind is how to test this; libcxx comes with a pretty extensive test suite, and we should probably try to get as much...
> The problem is the linker. WLA-DX has the same issue, oddly as it has a linker. On WLA-DX you basically have to always specify the access size because the...
I'm just straight up working on a more modern register allocator to replace the one in LLVM. I'm leaving these bugs open for now, since they're the next best option...
Deprioritizing to P2; the expected gain from the Machine Outliner is only around 5%, and it's quite a bit of work to set up the target callbacks.
After triaging this, it looks like the right way to fix this is by performing a global data flow analysis after regiser allocation. Right now the analysis for cleaning up...
The proximate cause for this is https://reviews.llvm.org/D125845, which was reverted due to performance issues. I'll do a sync to collect the revert; then we can look at the backend stuff...
I would really like to have been able to do this one, since it paid off pretty big time, but LLVM just doesn't keep C type information around for long...
The lack of `inbounds` was caused by D125845; the next llvm-mos release will produce the following IR: ``` ; Function Attrs: mustprogress nofree norecurse nosync nounwind optsize willreturn memory(argmem: read)...
Reopening as a p3. I took a look at the clang implementation of dereferenceable, and it looks like it's directly calling a "GetMinimumObjectSize" method. Clang definitely has this kind of...
Pasting the godbolt contents here for permanence: ``` typedef unsigned char byte; typedef unsigned short uint16; struct BytePair { byte left; byte right; }; byte rotate_to_end_right(byte a) { // these...