Page MenuHomePhabricator

mppf (Michael Ferguson)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 2 2017, 11:16 AM (107 w, 1 d)

Recent Activity

Jan 7 2019

mppf committed rL350569: [ValueTracking] Adjust comment in test.
[ValueTracking] Adjust comment in test
Jan 7 2019, 1:06 PM

Jan 4 2019

mppf added a comment to D38501: [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset.

Thanks!

Jan 4 2019, 7:17 AM

Jan 3 2019

mppf added a comment to D38501: [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset.

@hfinkel - I think this change is ready to merge. I've rebased it on current LLVM trunk and run the tests. I've also verified that the new test fails (with an assertion failure) on LLVM trunk without this change. Thanks!

Jan 3 2019, 6:57 AM

Jan 2 2019

mppf updated the diff for D38501: [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset.

Rebasing on current LLVM master

Jan 2 2019, 3:01 PM
mppf updated the summary of D38501: [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset.
Jan 2 2019, 9:34 AM
mppf added a comment to D38501: [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset.

Now that we have D38662, I'll look at getting this patch up to date and tested.

Jan 2 2019, 9:34 AM
mppf added a comment to D38499: [BasicAA] Fix adjustToPointerSize in BasicAliasAnalysis.cpp for ptr > 64b.

This patch has been replaced by D38662

Jan 2 2019, 9:31 AM

Nov 7 2018

mppf added a comment to D38662: [BasicAA] Support arbitrary pointer sizes (and fix an overflow bug).

hey @efriedma - @hfinkel and I are wondering if you have any comments on this updated revision of BasicAA improvements. Thanks!

Nov 7 2018, 2:22 PM · Restricted Project

Nov 2 2018

mppf added a comment to D38662: [BasicAA] Support arbitrary pointer sizes (and fix an overflow bug).

I think this patch is updated and ready to go. I'v additionally confirmed that this patch resolves the issue (present on LLVM master) with the test in D38501.

Nov 2 2018, 7:50 AM · Restricted Project

Nov 1 2018

mppf updated the diff for D38662: [BasicAA] Support arbitrary pointer sizes (and fix an overflow bug).

Fixing compilation problem. Now passes check-llvm.

Nov 1 2018, 11:41 AM · Restricted Project
mppf updated the diff for D38662: [BasicAA] Support arbitrary pointer sizes (and fix an overflow bug).

Updating to LLVM master, fix comment, fix a check, add a test

Nov 1 2018, 11:03 AM · Restricted Project

Oct 31 2018

mppf added a comment to D38662: [BasicAA] Support arbitrary pointer sizes (and fix an overflow bug).

Note that this commit is related:

Oct 31 2018, 1:41 PM · Restricted Project

Nov 1 2017

mppf added a comment to D38662: [BasicAA] Support arbitrary pointer sizes (and fix an overflow bug).

This change is still important to me. What needs to happen next for it to make progress? Thanks!

Nov 1 2017, 8:53 AM · Restricted Project

Oct 12 2017

mppf added a comment to D37460: [GVN] Prevent LoadPRE from hoisting across instructions that don't pass control flow to successors.

FWIW I've also reported this as this bug: https://bugs.llvm.org/show_bug.cgi?id=34937

Oct 12 2017, 6:03 PM
mppf added a comment to D37460: [GVN] Prevent LoadPRE from hoisting across instructions that don't pass control flow to successors.

Hi @mkazantsev , this change seems to have caused a regression. Before this change, the following program compiled with opt -gvn minimal64.ll -S but after, it causes an assertion failure in the compiler. I've verified that this failure is still present on trunk as of r315579.

Oct 12 2017, 7:25 AM
mppf added a comment to D38662: [BasicAA] Support arbitrary pointer sizes (and fix an overflow bug).

First, it appears that this changeset addresses the problem I was having. I'm running in to a new problem with 128-bit pointers when using trunk (vs LLVM 4 or 5) which I'll suggest a fix for / bug report once I've got something minimized. I'll be working on that as well as generating a better test case for this BasicAA issue.

Oct 12 2017, 7:15 AM · Restricted Project

Oct 11 2017

mppf added a comment to D38662: [BasicAA] Support arbitrary pointer sizes (and fix an overflow bug).

@hfinkel - I'm obviously not your main reviewer, but I did spend a few minutes looking at this.

Oct 11 2017, 1:16 PM · Restricted Project

Oct 10 2017

mppf added a comment to D38473: Include getting generated struct offsets in CodegenABITypes.

Since I don't have commit access, could somebody commit this for me please? Thanks.

Oct 10 2017, 7:25 AM

Oct 6 2017

mppf added a comment to D38501: [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset.

@hfinkel - I've made the change you requested. I think this one is good to go, but as I mentioned we need to commit it after another fix to BasicAA (such as D38499), or else the new test will fail with BasicAA assertions.

Oct 6 2017, 7:07 AM
mppf updated the summary of D38501: [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset.
Oct 6 2017, 7:05 AM
mppf updated the diff for D38501: [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset.
  • Break from loop instead of asserting if size > 64 bits
Oct 6 2017, 7:04 AM

Oct 5 2017

mppf added a comment to D38501: [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset.

@aprantl / @hfinkel - I improved the test, does it look better? Oddly enough the code necessary to trigger the assert is in a section that isn't meaningfully changed by GVN. I just beefed up the test to also show a related case that GVN did usefully change. I'm having trouble doing any better than that with a reasonable amount of effort.

Oct 5 2017, 7:47 AM
mppf updated the diff for D38501: [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset.
  • [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset
  • Improve test
Oct 5 2017, 7:42 AM
mppf updated the summary of D38501: [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset.
Oct 5 2017, 7:19 AM
mppf added a comment to D38473: Include getting generated struct offsets in CodegenABITypes.

@rjmccall , @rsmith - I added a comment about complete object type. I think I've addressed all the concerns at this point, but speak up if I'm misunderstanding.

Oct 5 2017, 6:19 AM
mppf updated the diff for D38473: Include getting generated struct offsets in CodegenABITypes.
  • Update comment for "complete object type"
Oct 5 2017, 6:18 AM

Oct 4 2017

mppf added a comment to D38499: [BasicAA] Fix adjustToPointerSize in BasicAliasAnalysis.cpp for ptr > 64b.

In my use case, I have 128-bit pointers but "adding" to one of these will only ever modify the lower 64 bits. So for my use case, offsets > 64 bits just don't matter.

Oct 4 2017, 2:09 PM
mppf added inline comments to D38501: [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset.
Oct 4 2017, 7:52 AM
mppf added a comment to D38499: [BasicAA] Fix adjustToPointerSize in BasicAliasAnalysis.cpp for ptr > 64b.

Hang on, there's a more fundamental problem here this is papering over. If your pointers are larger than 64 bits, those pointers can have offsets larger than 64 bits. Since BasicAA is using 64-bit integers to represent pointer offsets, the math in DecomposeGEPExpression will overflow, so you'll get incorrect results, and eventually cause a miscompile.

Oct 4 2017, 7:48 AM
mppf added a comment to D38473: Include getting generated struct offsets in CodegenABITypes.

Thanks for the feedback!

Oct 4 2017, 7:04 AM
mppf updated the diff for D38473: Include getting generated struct offsets in CodegenABITypes.
  • Improve comments, rename to getLLVMFieldNumber
Oct 4 2017, 6:51 AM

Oct 3 2017

mppf updated the diff for D38473: Include getting generated struct offsets in CodegenABITypes.
  • Add a test of getFieldNumber (and others)
Oct 3 2017, 2:06 PM
mppf added reviewers for D38473: Include getting generated struct offsets in CodegenABITypes: Praetonus, aprantl.
Oct 3 2017, 6:32 AM
mppf added reviewers for D38501: [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset: reames, sanjoy.
Oct 3 2017, 6:22 AM
mppf created D38501: [ValueTracking] Fix a misuse of APInt in GetPointerBaseWithConstantOffset.
Oct 3 2017, 6:21 AM
mppf added reviewers for D38499: [BasicAA] Fix adjustToPointerSize in BasicAliasAnalysis.cpp for ptr > 64b: reames, davide.
Oct 3 2017, 6:17 AM
mppf created D38499: [BasicAA] Fix adjustToPointerSize in BasicAliasAnalysis.cpp for ptr > 64b.
Oct 3 2017, 6:12 AM

Oct 2 2017

mppf added a reviewer for D38473: Include getting generated struct offsets in CodegenABITypes: rjmccall.
Oct 2 2017, 11:46 AM
mppf updated subscribers of D38473: Include getting generated struct offsets in CodegenABITypes.
Oct 2 2017, 11:42 AM
mppf updated subscribers of D38473: Include getting generated struct offsets in CodegenABITypes.
Oct 2 2017, 11:42 AM
mppf updated subscribers of D38473: Include getting generated struct offsets in CodegenABITypes.
Oct 2 2017, 11:39 AM
mppf added a comment to D38473: Include getting generated struct offsets in CodegenABITypes.

This in some ways is a philosophical continuation of https://reviews.llvm.org/D35180 .

Oct 2 2017, 11:35 AM
mppf created D38473: Include getting generated struct offsets in CodegenABITypes.
Oct 2 2017, 11:29 AM