- User Since
- Nov 19 2013, 9:02 PM (394 w, 3 d)
Thu, Jun 10
@rsmith Thanks for the pointer! Comments addressed. For the reachability check in contexts without CFG, it seems that some delayed processing is needed since constant evaluation happens later, however, I'm not sure about that.
- Add DiagIfReachable and use it in Sema::DiagnoseUnusedExprResult.
- Update tests.
Tue, Jun 8
We could use a table to avoid the warning and speed the build a little bit. https://reviews.llvm.org/D98110
Sat, Jun 5
Thu, Jun 3
Wed, Jun 2
The LLVM IR langref says that llvm.global_ctors are called in ascending priority order, and the order between initializers is not defined. That's not very helpful and often doesn't reflect reality. I wonder if we could do two things, perhaps separately:
- emit llvm.global_ctors so that they are called in order of appearance in the IR array (is this not already true?)
- define the order of initialization in LangRef
Tue, May 25
Mon, May 17
- Address comments.
Sat, May 15
Fri, May 14
May 13 2021
May 12 2021
- Address feedbacks.
Thanks for the review!
Looks good except for one suggestion and the patch need rebasing on an upstream commit.
May 11 2021
- Fix a test typo.
- Rebase on updated D102145 (use llvm.coro.raw.frame.ptr.addr during allocation)
- Add llvm.coro.raw.frame.ptr.addr to help storing raw frame address during allocation. llvm.coro.raw.frame.ptr.offset cannot be used during allocation because coroutine lowering would overwrite the raw frame address field with %alloc.frame.ptr alloca after llvm.coro.begin. The malloc returned address should be stored to %alloc.frame.ptr instead of the raw frame address field directly.
- Add tests for added intrinsics.
May 10 2021
FYI, review link is https://reviews.llvm.org/D19783
May 9 2021
- Rebase on D102145.
- Dynamically adjust the alignment for allocation and deallocation if the selected allocator does not have std::align_val_t argument. Otherwise, use the aligned allocation/deallocation function.
- Fix doc.
May 7 2021
LGTM. Need a test for pass managers debug output.
May 5 2021
Plan to rebase this together with the following patch for two lookups (aligned and non-aligned new/delete, and generate code accordingly)
May 3 2021
Looks like the precheck failures are real.
Apr 29 2021
- Add missed Shape.CoroRawFramePtrOffsets.clear();
For coroutine f0 in test/CodeGenCoroutines/coro-alloc.cpp
- fix typo
- fix a bug.
Found a bug. Will fix.
Reopened D97915 to address the feedbacks. Close this one.
@rjmccall the patch is on the large side. I'll submit a separate patch for the Sema part about searching for two allocators.
- Handle deallocation.
- Fix tests.
Apr 26 2021
Apr 25 2021
Apr 23 2021
Pursue D100739 instead.
It does occur. FrameAlign > Shape.getSwitchCoroId()->getAlignment()) this check reflects the definition of C++ spec's definition of overalign.
Apr 22 2021
- Address feebacks.
That sounds like less powerful optimizations due to the GlobalsAA movement. If adding a GlobalsAA plus D100917 is a win overall, that should work.
Apr 21 2021
Thanks for writing this up. It is very helpful. Some comments inline.
It seems awkward to enhance PreservedAnalyses to only apply to specific functions when this patch is explicitly doing exactly what we want. If you have a clean way of modeling this inside PreservedAnalyses I'm happy to go with that, but so far I think this is the cleanest way.
Apr 20 2021
I think we should be careful about letting passes invalidate analyses directly. IIUC the only interface for propagating invalidation from passes is PreservedAnalyses. Is there any way to enhance PreservedAnalyses to achieve the same effect?
Apr 19 2021
@drti hi, could you please rebase the patch? The base commit seems not in the git history.
Apr 18 2021
Fix comment. Ready for review.