Page MenuHomePhabricator

jamieschmeiser (Jamie Schmeiser)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 14 2020, 11:14 AM (15 w, 4 d)

Recent Activity

Today

jamieschmeiser added a comment to D87216: [NewPM] Support --print-before/after in NPM.

I agree that having the callbacks ask for the names is an improvement as it is cleaner and allows other callbacks to use this feature if desired. Generally, things look good. I have a couple of minor concerns mentioned in the code but I think it would be acceptable as is if you don't agree with what I've mentioned.

Tue, Dec 1, 12:36 PM · Restricted Project, Restricted Project
jamieschmeiser added a comment to D91890: Introduce -print-changes which show changes in patch-like format.

The template base classes are also used for -dot-cfg-changes, which shows the diff by making a website and showing the changes in dot-cfg form with the added code shown in green and the deleted code shown in red. The template parameters are the data structures needed for that display, while they are just empty structs in this change reporter. https://reviews.llvm.org/D87202 has the changes for that change reporter but the changes are out-of-date as they build on the original patch for this change reporter (which has been split up), but the data structures used by the templates for that change reporter can be seen in that patch.

Tue, Dec 1, 9:50 AM · Restricted Project
jamieschmeiser updated the summary of D91890: Introduce -print-changes which show changes in patch-like format.
Tue, Dec 1, 9:34 AM · Restricted Project

Fri, Nov 20

jamieschmeiser updated the diff for D91890: Introduce -print-changes which show changes in patch-like format.

Changes based on clang-tidy/format

Fri, Nov 20, 3:22 PM · Restricted Project
jamieschmeiser requested review of D91890: Introduce -print-changes which show changes in patch-like format.
Fri, Nov 20, 12:51 PM · Restricted Project
jamieschmeiser committed rG7f6360cdc68e: Reland: Expand existing loopsink testing to also test loopsinking using new… (authored by jamieschmeiser).
Reland: Expand existing loopsink testing to also test loopsinking using new…
Fri, Nov 20, 7:27 AM
jamieschmeiser closed D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM.
Fri, Nov 20, 7:27 AM · Restricted Project
jamieschmeiser committed rG621efa6a5a96: [NFC intended] Refactor the code for printChanged for reuse and to facilitate… (authored by jamieschmeiser).
[NFC intended] Refactor the code for printChanged for reuse and to facilitate…
Fri, Nov 20, 6:51 AM
jamieschmeiser closed D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..
Fri, Nov 20, 6:51 AM · Restricted Project

Thu, Nov 19

jamieschmeiser updated the diff for D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..

Rebasing code on latest master before delivering

Thu, Nov 19, 10:50 AM · Restricted Project
jamieschmeiser updated the diff for D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM.

@nikic I have moved the test for profile data before the calculation of the alias sets.

Thu, Nov 19, 7:50 AM · Restricted Project

Wed, Nov 18

jamieschmeiser committed rGcff479b14528: Revert "Revert "Revert "Expand existing loopsink testing to also test… (authored by jamieschmeiser).
Revert "Revert "Revert "Expand existing loopsink testing to also test…
Wed, Nov 18, 1:08 PM
jamieschmeiser added a reverting change for rGe29292969b92: Revert "Revert "Expand existing loopsink testing to also test loopsinking using…: rGcff479b14528: Revert "Revert "Revert "Expand existing loopsink testing to also test….
Wed, Nov 18, 1:08 PM
jamieschmeiser added a comment to D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM.

@nikic, saw your second comment after I added mine. I will revert it and take a look.

Wed, Nov 18, 1:00 PM · Restricted Project
jamieschmeiser added a comment to D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM.

@nikic, this is strange because it is off by default. I've already reverted the revert, so I will check the time differences between the relanding and if it shows a regression again, I will pull it.

Wed, Nov 18, 12:56 PM · Restricted Project
jamieschmeiser committed rGe29292969b92: Revert "Revert "Expand existing loopsink testing to also test loopsinking using… (authored by jamieschmeiser).
Revert "Revert "Expand existing loopsink testing to also test loopsinking using…
Wed, Nov 18, 12:35 PM
jamieschmeiser added a reverting change for rG562addba652e: Revert "Expand existing loopsink testing to also test loopsinking using new…: rGe29292969b92: Revert "Revert "Expand existing loopsink testing to also test loopsinking using….
Wed, Nov 18, 12:35 PM
jamieschmeiser added a comment to D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM.

Looks like a flaky testcase, it passed on next run with my changes in on one build and the other looks like a network issue.

Wed, Nov 18, 12:31 PM · Restricted Project
jamieschmeiser added a comment to D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM.

The Buildbot has detected a failed build on builder clang-cmake-armv7-quick while building llvm.
Full details are available at:

https://urldefense.proofpoint.com/v2/url?u=http-3A__lab.llvm.org-3A8011_-23builders_107_builds_1659&d=DwICaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=Nr2SnYQn80wzIpml4veK2C-U4ilVZzi0kWYCc2WSLoA&m=v5KeUvUQ3NmVKfDF_PHQ197pdpgdKEZ2Cm6JUebPiEs&s=QQkrhJP0JJLKRQfOOzGYX0pkct6JJhzL0CHRaZMbkEE&e=

Buildbot URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__lab.llvm.org-3A8011_&d=DwICaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=Nr2SnYQn80wzIpml4veK2C-U4ilVZzi0kWYCc2WSLoA&m=v5KeUvUQ3NmVKfDF_PHQ197pdpgdKEZ2Cm6JUebPiEs&s=_gM68RF9ovfGi9Cd5Z7GlMzchqp751e2xZaWYOIO8Ts&e=
Worker for this Build: linaro-armv7-quick
Build Reason: <unknown>
Blamelist: Jamie Schmeiser <schmeise@ca.ibm.com>
BUILD FAILED: failed 49489 expected passes 19381 unsupported tests 75 expected failures 1 unexpected failures Unexpected test result output 14 (failure)
Sincerely,
LLVM Buildbot

Wed, Nov 18, 12:23 PM · Restricted Project
jamieschmeiser reopened D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM.

test failures when pushing

Wed, Nov 18, 12:20 PM · Restricted Project
jamieschmeiser added a reverting change for rGd4ba28bddc89: Expand existing loopsink testing to also test loopsinking using new pass…: rG562addba652e: Revert "Expand existing loopsink testing to also test loopsinking using new….
Wed, Nov 18, 12:19 PM
jamieschmeiser committed rG562addba652e: Revert "Expand existing loopsink testing to also test loopsinking using new… (authored by jamieschmeiser).
Revert "Expand existing loopsink testing to also test loopsinking using new…
Wed, Nov 18, 12:19 PM
jamieschmeiser added a reverting change for D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM: rG562addba652e: Revert "Expand existing loopsink testing to also test loopsinking using new….
Wed, Nov 18, 12:19 PM · Restricted Project
jamieschmeiser committed rGd4ba28bddc89: Expand existing loopsink testing to also test loopsinking using new pass… (authored by jamieschmeiser).
Expand existing loopsink testing to also test loopsinking using new pass…
Wed, Nov 18, 11:10 AM
jamieschmeiser closed D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM.
Wed, Nov 18, 11:09 AM · Restricted Project

Thu, Nov 12

jamieschmeiser updated the diff for D90638: Introduce -dot-cfg-mssa option which creates dot-cfg style file with mssa comments included in source.

Fix build problems revealed when delivering changes.

Thu, Nov 12, 8:33 AM · Restricted Project

Tue, Nov 10

jamieschmeiser updated the diff for D90482: [NFC intended] Refactor SinkAndHoistLICMFlags to allow others to construct without exposing internals.

No changes, just rebasing to new master to get retesting to ensure clean test run

Tue, Nov 10, 12:52 PM · Restricted Project

Mon, Nov 9

jamieschmeiser updated the diff for D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..

Respond to review comments: move function out of line, remove inline keyword,
remove unneeded qualifiers, simplify comparison.

Mon, Nov 9, 9:19 AM · Restricted Project

Thu, Nov 5

jamieschmeiser updated the diff for D90638: Introduce -dot-cfg-mssa option which creates dot-cfg style file with mssa comments included in source.

Respond to review comments: replace header include.

Thu, Nov 5, 6:13 AM · Restricted Project

Wed, Nov 4

jamieschmeiser updated the diff for D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM.

Respond to review comments: properly indicate preserved analyses,
which also means the changes are not needed for the pipeline tests.

Wed, Nov 4, 11:28 AM · Restricted Project
jamieschmeiser updated the diff for D90638: Introduce -dot-cfg-mssa option which creates dot-cfg style file with mssa comments included in source.

Respond to review comments: use llvm::function_ref, add unit test.
Fix option name and MemoryUse search string.
Regarding "-> void", I prefer to have the return type specified.

Wed, Nov 4, 10:55 AM · Restricted Project

Tue, Nov 3

jamieschmeiser updated the diff for D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..

As requested, I have broken out the refactoring aspects of the original PR.
I have placed them in this PR and will make a subsequent PR with the new
functionality of print-changes once these refactoring changes have
stabilized/landed to avoid churn in a chain of PRs. There are no intended
changes to functionality in this PR.

Tue, Nov 3, 12:39 PM · Restricted Project
jamieschmeiser updated the diff for D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM.

Respond to review comments by adding options controlling whether
memoryssa is used for loopsink, defaulting to false. Expanded the
tests to include these options.

Tue, Nov 3, 9:35 AM · Restricted Project

Mon, Nov 2

jamieschmeiser updated the diff for D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM.

Respond to review comments. Enable Memory SSA in legacy Loop Sink pass
under EnableMSSALoopDependency option control. Update tests accordingly.

Mon, Nov 2, 2:55 PM · Restricted Project
jamieschmeiser requested review of D90638: Introduce -dot-cfg-mssa option which creates dot-cfg style file with mssa comments included in source.
Mon, Nov 2, 12:33 PM · Restricted Project

Oct 30 2020

jamieschmeiser retitled D90482: [NFC intended] Refactor SinkAndHoistLICMFlags to allow others to construct without exposing internals from [NFC intended] Refactor SinkAdHoistLICMFlags to allow others to construct without exposing internals to [NFC intended] Refactor SinkAndHoistLICMFlags to allow others to construct without exposing internals.
Oct 30 2020, 10:51 AM · Restricted Project
jamieschmeiser updated the diff for D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM.

As requested, I have split the refactoring of the SinkAndHoistLICMFlags
into a separate PR and made this PR a child of that.

Oct 30 2020, 10:50 AM · Restricted Project
jamieschmeiser requested review of D90482: [NFC intended] Refactor SinkAndHoistLICMFlags to allow others to construct without exposing internals.
Oct 30 2020, 10:38 AM · Restricted Project

Oct 29 2020

jamieschmeiser updated the diff for D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..

Moved the tests into a separate directory and added a lit.local.cfg that tests
whether the needed diff support is available. The tests are flagged as
unsupported when the needed support is unavailable. Also, the tests
were expanded to check more of the results.

Oct 29 2020, 9:35 AM · Restricted Project

Oct 28 2020

jamieschmeiser updated the diff for D88757: Introduce -print-before-changed, making -print-changed also print before passes that modify IR.

@aeubanks, it appears that you are correct that the previous error was not caused by my changes as I cannot reproduce it locally. I have changed the option back to -print-before-changed.

Oct 28 2020, 1:41 PM · Restricted Project

Oct 27 2020

jamieschmeiser updated subscribers of D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM.

Note that @sidbav made contributions to these changes.

Oct 27 2020, 10:53 AM · Restricted Project
jamieschmeiser requested review of D90249: Add options to enable memoryssa for loopsink, expand loopsink testing and fix exposed bug in LICM.
Oct 27 2020, 9:53 AM · Restricted Project
jamieschmeiser requested changes to D87216: [NewPM] Support --print-before/after in NPM.

The changes are specific to -print-before and -print-after (which is the intended target and this work originated before -print-changed) but could the change be made universal? I would rather see the existing StringRef passed to all the callbacks changed rather than adding the new StringRef to specific callbacks. This way all passes benefit and are consistent. In particular, I would like to see this change applied to -printChanged; this came up in the reviews for that PR. If you would rather not make it universal, then at least change all of the callbacks to also receive the new StringRef.

Oct 27 2020, 9:25 AM · Restricted Project, Restricted Project

Oct 23 2020

jamieschmeiser added a comment to D88757: Introduce -print-before-changed, making -print-changed also print before passes that modify IR.
@aeubanks, you can see the failure report by looking at Diff 1 in the history tab of the revision contents in this PR (https://reviews.llvm.org/D88757?id=295916):
Oct 23 2020, 6:57 AM · Restricted Project

Oct 22 2020

jamieschmeiser added a comment to D88757: Introduce -print-before-changed, making -print-changed also print before passes that modify IR.

@aeubanks, I agree but when I first put up this PR, there was a lit test failure and looking at the run command for the test, it had "/fuchsia.cpp -### -no-canonical-prefixes" in it, so I think the problem is that the existing -print-before is a prefix of -print-before-changed. How about -also-print-before-changed?

Oct 22 2020, 10:02 AM · Restricted Project
jamieschmeiser added a comment to D88757: Introduce -print-before-changed, making -print-changed also print before passes that modify IR.

@aeubanks, just want to point out that I have changed the option name to avoid the problem of -print-before and -print-before-changed having a common prefix. The option name is now -also-print-before. Please verify that this is acceptable and then I will deliver this.

Oct 22 2020, 9:50 AM · Restricted Project
jamieschmeiser retitled D88757: Introduce -print-before-changed, making -print-changed also print before passes that modify IR from add new option print-before-changed that modifies print-changed to also print before passes that change the IR to Introduce -also-print-before, making -print-changed also print before passes that modify IR.
Oct 22 2020, 9:47 AM · Restricted Project
jamieschmeiser updated the diff for D88757: Introduce -print-before-changed, making -print-changed also print before passes that modify IR.

Changed name of option to -also-print-before to avoid common option prefix problem.

Oct 22 2020, 9:42 AM · Restricted Project
jamieschmeiser added a comment to D87202: Add a new hidden option -dot-cfg-changes which creates a website of DOT files showing colourized changes as the IR is changed by passes in the new pass manager pipeline..

ping

Oct 22 2020, 7:44 AM · Restricted Project
jamieschmeiser added a comment to D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..

ping

Oct 22 2020, 7:43 AM · Restricted Project
jamieschmeiser updated the diff for D86657: Add new hidden option -print-crash-IR that prints out IR that caused opt pipeline to crash.

Made changes requested by @aeubanks, who is satisfied but would like @yrouban to check the signal handler.

Oct 22 2020, 7:35 AM · Restricted Project

Oct 8 2020

jamieschmeiser abandoned D86362: Allow graph writer to render DOT nodes using HTML..

The changes in this PR have been incorporated into https://reviews.llvm.org/D87202 as they are easier to understand in the context of those changes.

Oct 8 2020, 2:48 PM · Restricted Project
jamieschmeiser updated the diff for D87202: Add a new hidden option -dot-cfg-changes which creates a website of DOT files showing colourized changes as the IR is changed by passes in the new pass manager pipeline..

Update the code based on changes in the earlier PRs in the
chain. Also, the changes to the GraphWriter in
https://reviews.llvm.org/D86362 have been incorporated into this PR as they are
difficult to understand in isolation and that PR will be cancelled.

Oct 8 2020, 2:46 PM · Restricted Project

Oct 7 2020

jamieschmeiser added a comment to D87202: Add a new hidden option -dot-cfg-changes which creates a website of DOT files showing colourized changes as the IR is changed by passes in the new pass manager pipeline..

I will be updating this to reflect changes to PRs earlier in the chain.

Oct 7 2020, 12:34 PM · Restricted Project

Oct 6 2020

jamieschmeiser updated the diff for D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..

Removed unnecessary template parameter and improved testing.

Oct 6 2020, 4:31 PM · Restricted Project

Oct 5 2020

jamieschmeiser updated the diff for D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..

Improved comments, changed order of classes in header file,
changed error handling to produce error messages rather
than asserting when performing the linux diff operation.

Oct 5 2020, 2:51 PM · Restricted Project

Oct 2 2020

jamieschmeiser updated the diff for D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..

Update PR based on print-changed which has now landed.
Do not move the code into a different file as I previously did
as it made it difficult to see the changes.

Oct 2 2020, 8:24 PM · Restricted Project
jamieschmeiser requested review of D88757: Introduce -print-before-changed, making -print-changed also print before passes that modify IR.
Oct 2 2020, 3:01 PM · Restricted Project

Sep 30 2020

jamieschmeiser added a comment to D86360: Add new hidden option -print-changed which only reports changes to IR.

@ychen, I changed the tests so that the banners check the names of the passes, based on other tests I found that also rely on pass ids. The other tests use regex to handle template arguments and specify other pass ids directly, so that is what I changed the tests to do.
@MaskRay I believe your concerns have been addressed; if not, please let me know.

Sep 30 2020, 12:20 PM · Restricted Project
jamieschmeiser updated the diff for D86360: Add new hidden option -print-changed which only reports changes to IR.

Put text in tests that indicates the name of the pass in the banner,
using regex for template arguments.

Sep 30 2020, 12:16 PM · Restricted Project

Sep 29 2020

jamieschmeiser added a comment to D88515: Add dot-cfg-changes style view to the llvm-diff tool.

Note that the clang-tidy comment about the non-existent header is because this PR builds upon other PRs that have not been incorporated yet, one of which introduces the header file.

Sep 29 2020, 3:16 PM · Restricted Project
jamieschmeiser requested review of D88515: Add dot-cfg-changes style view to the llvm-diff tool.
Sep 29 2020, 3:01 PM · Restricted Project

Sep 22 2020

jamieschmeiser updated the diff for D87202: Add a new hidden option -dot-cfg-changes which creates a website of DOT files showing colourized changes as the IR is changed by passes in the new pass manager pipeline..

Respond to review comments: use regex, format HTML output to make it easier
to read, other changes.

Sep 22 2020, 4:03 PM · Restricted Project
jamieschmeiser added a comment to D86360: Add new hidden option -print-changed which only reports changes to IR.

Fair enough, I'll come up with a regex that works for all three. I suspect that this will need to change in response to https://reviews.llvm.org/D87216

Sep 22 2020, 12:45 PM · Restricted Project

Sep 21 2020

jamieschmeiser updated the diff for D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..

Update this PR to match changes made to https://reviews.llvm.org/D86360,
most notably replace the lambdas with virtual functions.
Adapt to other changes based on reviews of -print-changed.

Sep 21 2020, 5:05 PM · Restricted Project
jamieschmeiser added a comment to D86360: Add new hidden option -print-changed which only reports changes to IR.

@MaskRay, https://reviews.llvm.org/D87000 moves a bunch of the code into a separate file, rather than deleting it. -print-changed, by itself, doesn't add enough to justify it's own file but once you add in -print-changes and -dot-cfg-changes, it grows to a significant amount of code, so I moved it to a separate file. I had already marked the other PRs as children in a chain, which can be seen in the stack tab of the revision contents. Is there another way that I should indicate the relationship between the PRs? Thanks for your comments about these 3 PRs. I have found these ways of looking at the changes very useful, particularly -dot-cfg-changes. (Shameless promotion alert:) I will be presenting these three ways of looking at the IR in my tutorial at the upcoming virtual developers meeting, including a demo of -dot-cfg-changes.

Sep 21 2020, 5:57 AM · Restricted Project

Sep 18 2020

jamieschmeiser updated the diff for D86360: Add new hidden option -print-changed which only reports changes to IR.

Respond to review comments: change comments, few code revisions, notably with
std::string. Tighten up test cases with more -NEXT checks of the IR.

Sep 18 2020, 9:55 AM · Restricted Project
jamieschmeiser added a comment to D86360: Add new hidden option -print-changed which only reports changes to IR.

@ychen, Why are the regexs not sufficient for testing? I would rather not "check the common sub-string of GCC's and MSVC's output" because it has already been sufficiently demonstrated that this is fragile in the test. Referring to the code creating one of the banners:
SmallString<20> Banner = formatv("* IR Dump After {0} *", PassID);
We see that the test checks everything except the PassID (the name is added after) and the rest of the banner is distinct in all cases. I have changed the regexs to {{.+}} which will ensure that there is actually something there but checking anything else will make the test susceptible to failing based on the compiler. The important part of the test is captured in that the banner shows that the dump is either filtered, ignored, output, etc and that the portion of IR is correct. This is the intent of the tests, rather than testing how different compilers construct a PassID.
@MaskRay From earlier comments:
"The reason for the round-trip structure is that there are more instantiations of these templates that report changes in different forms still to come. I will be subsequently posting reviews for at least 2 different change reporters based on these base classes. By defining these templates in this fashion, the functionality of comparing different IR representations and determining when changes have occurred and should be filtered, reported or ignored is all in common in the base classes. The derived classes will be called when interesting events happen and only need to handle presenting the events without having to determine when the events occur."
There are 2 other derived change reporters currently up for review based on these base classes, although the PRs need updating based on changes made in this PR. This makes at least 3 derived classes. See https://reviews.llvm.org/D87000 and https://reviews.llvm.org/D87202

Sep 18 2020, 9:53 AM · Restricted Project

Sep 17 2020

jamieschmeiser updated the diff for D86657: Add new hidden option -print-crash-IR that prints out IR that caused opt pipeline to crash.

Respond to review comments: replace unneeded include with standard include, move code in file.
React to review comments on other PRs: change test prefixes to something more useful.
React to test failures with other PRs: change tests to have regex rather than having PassID in test
Add another test to test interaction with -print-module-scope

Sep 17 2020, 3:05 PM · Restricted Project
jamieschmeiser updated the diff for D86360: Add new hidden option -print-changed which only reports changes to IR.

Respond to build/test problems: Remove extra ;, remove call to base dtor,
change tests to have regex for PassID and ModuleID

Sep 17 2020, 10:26 AM · Restricted Project
jamieschmeiser reopened D86360: Add new hidden option -print-changed which only reports changes to IR.

It appears that the failing tests are due to differences in the PassID that is passed in the PassInstrumentationCallbacks, which is presumably build compiler/platform dependent. I know that the name sent is language dependent because it is the mangled name for C++ but all of these tests are based on input that was originally C so that should be fine. I will alter the tests to have a regex accepting anything for the PassID and just verify the constructed part of the banner and the name, which should make these tests robust and still test the functionality.

Sep 17 2020, 8:50 AM · Restricted Project

Sep 16 2020

jamieschmeiser added a comment to D86360: Add new hidden option -print-changed which only reports changes to IR.

@hliao Thanks!

Sep 16 2020, 1:52 PM · Restricted Project
jamieschmeiser added a comment to D86360: Add new hidden option -print-changed which only reports changes to IR.

@mkitzan, Thanks for fixing the build by removing the extra semicolon. Also, removing the call to the base dtor is fine.
commit 6859d95ea2d0f3fe0de2923a3f642170e66a1a14
Author: Michael Liao <michael.hliao@gmail.com>
Date: Wed Sep 16 14:43:08 2020 -0400

Sep 16 2020, 1:28 PM · Restricted Project
jamieschmeiser updated the diff for D86360: Add new hidden option -print-changed which only reports changes to IR.

[NFC] Respond to reviewers comments: Update comments.

Sep 16 2020, 7:36 AM · Restricted Project

Sep 14 2020

jamieschmeiser updated the diff for D86360: Add new hidden option -print-changed which only reports changes to IR.

Respond to review comments: change lambdas to virtual function calls and
place code directly in functions.

Sep 14 2020, 12:26 PM · Restricted Project
jamieschmeiser updated the diff for D86360: Add new hidden option -print-changed which only reports changes to IR.

Respond to review comments: Set ShouldPreserveUseListOrder to true
when generating the output for a module.

Sep 14 2020, 10:04 AM · Restricted Project
jamieschmeiser added inline comments to D86360: Add new hidden option -print-changed which only reports changes to IR.
Sep 14 2020, 7:07 AM · Restricted Project

Sep 10 2020

jamieschmeiser updated the diff for D87202: Add a new hidden option -dot-cfg-changes which creates a website of DOT files showing colourized changes as the IR is changed by passes in the new pass manager pipeline..

Change name to dot-cfg-changes as it is more similar to print-changes than to print-changed

Sep 10 2020, 12:04 PM · Restricted Project
jamieschmeiser updated the diff for D87202: Add a new hidden option -dot-cfg-changes which creates a website of DOT files showing colourized changes as the IR is changed by passes in the new pass manager pipeline..

Change option name to dot-cfg-changed to align with existing dot-cfg pass.

Sep 10 2020, 6:50 AM · Restricted Project

Sep 8 2020

jamieschmeiser updated the diff for D87202: Add a new hidden option -dot-cfg-changes which creates a website of DOT files showing colourized changes as the IR is changed by passes in the new pass manager pipeline..

Changed code to only open output stream when option is specified.

Sep 8 2020, 7:15 AM · Restricted Project

Sep 5 2020

jamieschmeiser added a comment to D86362: Allow graph writer to render DOT nodes using HTML..

@madhur13490 I have added a PR https://reviews.llvm.org/D87202 that the contains the code that uses the changes in this PR (and marked this as a parent of it).

Sep 5 2020, 10:04 PM · Restricted Project
jamieschmeiser requested review of D87202: Add a new hidden option -dot-cfg-changes which creates a website of DOT files showing colourized changes as the IR is changed by passes in the new pass manager pipeline..
Sep 5 2020, 9:59 PM · Restricted Project

Sep 4 2020

jamieschmeiser updated the diff for D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..

Move enum out of template, make space between end template delimiters
optional in new test.

Sep 4 2020, 3:11 PM · Restricted Project
jamieschmeiser updated the diff for D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..

This is an update based on changes that have been made to the code in the review
for https://reviews.llvm.org/D86360. I have moved much of the code and templates into
a new header and body files as it is becoming more complex. I have also changed
some of the class names from being "change printer" based to "change reporter"
based because it doesn't imply how the changes are shown (ie, the changes do not
necessarily need to be printed).

Sep 4 2020, 1:42 PM · Restricted Project
jamieschmeiser updated the diff for D86657: Add new hidden option -print-crash-IR that prints out IR that caused opt pipeline to crash.

Respond to review comments: Change global vector to pointer to DenseSet,
change objects from unnamed namespace to private statics.

Sep 4 2020, 7:28 AM · Restricted Project

Sep 3 2020

jamieschmeiser updated the diff for D86360: Add new hidden option -print-changed which only reports changes to IR.

Respond to review comments: Change template parameter name, use
llvm::isSpecialPass, make space between template end delimiters optional
and use more meaningful check prefixes in tests.

Sep 3 2020, 1:33 PM · Restricted Project
jamieschmeiser reopened D86360: Add new hidden option -print-changed which only reports changes to IR.
Sep 3 2020, 1:31 PM · Restricted Project
jamieschmeiser added inline comments to D86360: Add new hidden option -print-changed which only reports changes to IR.
Sep 3 2020, 10:59 AM · Restricted Project
jamieschmeiser added inline comments to D86360: Add new hidden option -print-changed which only reports changes to IR.
Sep 3 2020, 10:44 AM · Restricted Project
jamieschmeiser updated the diff for D86360: Add new hidden option -print-changed which only reports changes to IR.

Merge of last 2 changesets for committing.

Sep 3 2020, 8:23 AM · Restricted Project
jamieschmeiser added a comment to D86360: Add new hidden option -print-changed which only reports changes to IR.

Thanks for doing the reviews.

Sep 3 2020, 7:18 AM · Restricted Project
jamieschmeiser updated the diff for D86360: Add new hidden option -print-changed which only reports changes to IR.

Respond to review comments: fix comment and remove unnecessary test
from isInterestingFunction. Also, mark some functions inline.

Sep 3 2020, 7:11 AM · Restricted Project

Sep 2 2020

jamieschmeiser updated the diff for D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..

Rebase to pick up review changes for https://reviews.llvm.org/D86360 and
alter this code to match those changes (reordered parameters, added const
to parameters)

Sep 2 2020, 11:01 AM · Restricted Project
jamieschmeiser updated the diff for D86360: Add new hidden option -print-changed which only reports changes to IR.

[NFC] Respond to review comments: change parameter order, change variable
names, add const to parameters

Sep 2 2020, 10:55 AM · Restricted Project

Sep 1 2020

jamieschmeiser added a comment to D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..

Note that this code makes use of the linux diff function to determine what has changed in the IR. This will likely require altering for other platforms, which is a future enhancement. The testing may require attention before this PR can land and any suggestions on how to handle this would be appreciated.

Sep 1 2020, 8:47 PM · Restricted Project
jamieschmeiser requested review of D87000: [NFC intended] Refactor code for print-changed to facilitate reuse..
Sep 1 2020, 8:39 PM · Restricted Project
jamieschmeiser added a comment to D86362: Allow graph writer to render DOT nodes using HTML..

I think you have to be logged in to the llvm conference website to follow the link. The abstract is available on the conference website.

Sep 1 2020, 11:41 AM · Restricted Project
jamieschmeiser updated the diff for D86360: Add new hidden option -print-changed which only reports changes to IR.

Respond to review comments: remove dummy passes created in last
changeset and change tests to use no-op-function and instsimplify.

Sep 1 2020, 8:01 AM · Restricted Project
jamieschmeiser updated the diff for D86657: Add new hidden option -print-crash-IR that prints out IR that caused opt pipeline to crash.

Respond to review comments: use mutex to protect building of vector of crash printers.
Create a global vector of crash printers that the signal handler uses to report the IRs in the event of a crash.
Adding a crash printer and removing it from the vector is protected using mutex locking.

Sep 1 2020, 6:37 AM · Restricted Project

Aug 28 2020

jamieschmeiser updated the diff for D86360: Add new hidden option -print-changed which only reports changes to IR.

Create 2 dummy passes, one that changes the IR by adding a dummy attribute
to a function, the other which does not change the IR. Neither are
added to any pipeline. Change the -print-changed unit test to use these
2 passes to make the unit test robust.

Aug 28 2020, 2:36 PM · Restricted Project