- User Since
- Apr 3 2019, 5:55 PM (19 w, 5 d)
Sun, Aug 18
Add getSortedCallTargets and SortCallTargets, per review feedback.
Thu, Aug 15
Thanks for reply, @asbirlea. Now I see where the non-determinism comes from. I thought that BFI query APIs all go through a translation from BasicBlock* to BlockNode, thus in query APIs, we use BasicBlock* just as a look up key without actually dereferencing it. This is what makes me think removing basic block is fine (we'll have dead entry, but it won't be accessed). But if the dangling BasicBlock* pointer happens to point to newly allocated BasicBlock* later, the count we get for that new block can be non-deterministic. This is quite tricky.. I'm not sure how crash can happen still as it seems we don't dereference BasicBlock* in query APIs, though non-determinism is enough of a problem.
Thanks for the context, @chandlerc. Agreed that ideally BFI should be preserved by all loop passes. Not to defend this change, but I have a few questions just to make sure I understand the cause of miscompile/non-determinism and there's no other lurking issues around this.
Tue, Aug 13
Mon, Aug 12
add message for assertion.
Sun, Aug 11
Sat, Aug 10
Thu, Aug 8
let GUIDToFuncNameMapper populate GUIDToFuncNameMap field of FunctionSamples.
avoid TLS and move GUIDToFuncNameMapper to class member
Tue, Aug 6
Thu, Aug 1
Mon, Jul 29
gentle ping.. @davidxl, let me know if the last update addressed your comments. thanks!
Wed, Jul 24
add hasProfileData check, expose tuning knob per review feedback.
Tue, Jul 23
Mon, Jul 22
Address review feedbacks.
Jul 21 2019
Extra note: we saw a case from one of the big services (at facebook) that's very similar to the example in LICM/sink.ll, where there're cold paths in the loop. And by checking block frequency to avoid hoisting to hotter blocks, we got good improvements (~7% for a CPU related metric).
Jul 15 2019
@dblaikie, thanks for review. Could you help land this change? I don't have commit permission yet..
Tweak test case to add coverage for zero-coloumn inline site
Jul 12 2019
Jul 11 2019
Undo changes to odr-member-functions test.
Jul 10 2019
Jul 9 2019
@JDevlieghere once you sort out the odr-member-functions the patch is fine with me. I am mildly curious why all three .o files got smaller.
Update more tests.