[PATCH] D26967: Put opt-viewer critical items in parallel

Adam Nemet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 23 08:29:08 PST 2017


anemet added a comment.

HI Brian!

In https://reviews.llvm.org/D26967#653334, @bcain wrote:

> If the .key property of Remark would be better off by having a self.Function element, should I just add it?


I think we should just go with your patch as is and incrementally improve the situation from there.  As I said the original version is also incorrect so we're technically not regressing anything here.

I have been holding off commits to avoid causing merge conflicts for you but the queue is getting pretty long; I'd like to get this in and go from there.

> Also: note that this parallel implementation spawns processes, not threads.  This means that globally visible changes like e.g. class-members have to be manually delivered back to the parent.  This is why the Remark.max_hotness is not updated in get_remarks().   Changing this implementation to be multithreaded is simple and only requires slightly different imports.
> 
>> If you want to see an example of this, diff _Users_adam_proj_org_llvm_build-rel_bin_.._include_c++_v1___functional_base.html between html-orig and html-par from the tarball I sent you.   On the very first line we annotate (line 63), there are licm remarks with different inlining contexts on the parallel version but not on the serial one.
> 
> I'll see if I can make a minimal reproducer, sorting through all of these differences is difficult to reason about IMO.

I wouldn't worry about this.  Why don't you just post the latest version of the patch and then we improve/fix thing further in tree.

Thanks again for your work.

Adam


Repository:
  rL LLVM

https://reviews.llvm.org/D26967





More information about the llvm-commits mailing list