Page MenuHomePhabricator

fhahn (Florian Hahn)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 18 2016, 4:39 AM (135 w, 4 d)

Recent Activity

Today

fhahn added a comment to D59722: [ScheduleDAG] Avoid unnecessary recomputation of topological order..

LGTM

Out of curiosity, do you have any numbers for how this impacts compile time on, say, CTMark? What percentage of an improvement can we expect from this?

Mon, Mar 25, 4:13 PM · Restricted Project
fhahn updated the diff for D59789: [DSE] Preserve basic block ordering using OrderedBasicBlock..

Thanks Eli. In the case LastInstFound == BB->begin(), we have to renumber all
instructions after removing LastInstFound, so there is no need to manually number
the next instruction with 0.

Mon, Mar 25, 2:27 PM · Restricted Project
fhahn updated the diff for D59218: [LSR] Fix signed overflow in GenerateCrossUseConstantOffsets..

Thanks Eli, I did not realize that there are quite efficient ways to compute the
expressions other than splitting it up and dealing with the even/uneven cases
with modulo.

Mon, Mar 25, 2:22 PM · Restricted Project
fhahn added a comment to D51664: [IR] Lazily number instructions for local dominance queries.

For DSE, it seems quite straight-forward to preserve OrderedBB (we just remove instructions or replace existing ones with another one). I've added D59789 sketching that. This could be a stop-gap until this patch gets through.

Mon, Mar 25, 11:26 AM · Restricted Project
fhahn added a parent revision for D59789: [DSE] Preserve basic block ordering using OrderedBasicBlock.: D59788: [MemDepAnalysis] Allow caller to pass in an OrderedBasicBlock..
Mon, Mar 25, 11:21 AM · Restricted Project
fhahn added a child revision for D59788: [MemDepAnalysis] Allow caller to pass in an OrderedBasicBlock.: D59789: [DSE] Preserve basic block ordering using OrderedBasicBlock..
Mon, Mar 25, 11:21 AM · Restricted Project
fhahn created D59789: [DSE] Preserve basic block ordering using OrderedBasicBlock..
Mon, Mar 25, 11:20 AM · Restricted Project
fhahn created D59788: [MemDepAnalysis] Allow caller to pass in an OrderedBasicBlock..
Mon, Mar 25, 11:19 AM · Restricted Project
fhahn added inline comments to D59218: [LSR] Fix signed overflow in GenerateCrossUseConstantOffsets..
Mon, Mar 25, 5:05 AM · Restricted Project

Fri, Mar 22

fhahn created D59722: [ScheduleDAG] Avoid unnecessary recomputation of topological order..
Fri, Mar 22, 3:06 PM · Restricted Project
fhahn added a comment to D59479: [X86] Call lowerShuffleAsBitMask for 512-bit vectors in lowerShuffleAsBlend..

I've bisected https://bugs.llvm.org/show_bug.cgi?id=41203 to this commit, which seems to cause crashes when building the test-suite with AXV512.

Fri, Mar 22, 8:27 AM · Restricted Project

Thu, Mar 21

fhahn added a comment to D59065: [BasicAA] Simplify inttoptr(and(ptrtoint(X), C)) to X, if C preserves all significant bits..

Ping. @hfinkel did my response make sense?

Thu, Mar 21, 11:20 AM · Restricted Project
fhahn added a comment to D59218: [LSR] Fix signed overflow in GenerateCrossUseConstantOffsets..

Ping. This applies the same solution as D59211 to a different case.

Thu, Mar 21, 10:53 AM · Restricted Project
fhahn committed rG71033f298736: [DAGCombiner] Use getTokenFactor in a few more cases. (authored by fhahn).
[DAGCombiner] Use getTokenFactor in a few more cases.
Thu, Mar 21, 7:35 AM
fhahn committed rL356668: [DAGCombiner] Use getTokenFactor in a few more cases..
[DAGCombiner] Use getTokenFactor in a few more cases.
Thu, Mar 21, 7:34 AM
fhahn closed D59156: [DAGCombiner] Use getTokenFactor in a few more cases..
Thu, Mar 21, 7:34 AM · Restricted Project

Wed, Mar 20

fhahn committed rT356545: Add geomean summary row to output from utils/compare.py..
Add geomean summary row to output from utils/compare.py.
Wed, Mar 20, 5:23 AM
fhahn committed rL356545: Add geomean summary row to output from utils/compare.py..
Add geomean summary row to output from utils/compare.py.
Wed, Mar 20, 4:11 AM
fhahn closed D57828: Add geomean summary row to output from utils/compare.py..
Wed, Mar 20, 4:11 AM · Restricted Project

Tue, Mar 19

fhahn committed rG91d96b3a6a1d: [DwarfDebug] Add triple to test. (authored by fhahn).
[DwarfDebug] Add triple to test.
Tue, Mar 19, 2:18 PM
fhahn committed rL356521: [DwarfDebug] Add triple to test..
[DwarfDebug] Add triple to test.
Tue, Mar 19, 2:18 PM
fhahn committed rG1663c9466f37: [DwarfDebug] Skip entries to big for 16 bit size field in Dwarf < 5. (authored by fhahn).
[DwarfDebug] Skip entries to big for 16 bit size field in Dwarf < 5.
Tue, Mar 19, 1:38 PM
fhahn committed rL356514: [DwarfDebug] Skip entries to big for 16 bit size field in Dwarf < 5..
[DwarfDebug] Skip entries to big for 16 bit size field in Dwarf < 5.
Tue, Mar 19, 1:35 PM
fhahn closed D59518: [DwarfDebug] Skip entries to big for 16 bit size field in Dwarf < 5..
Tue, Mar 19, 1:35 PM · Restricted Project
fhahn added a comment to D59518: [DwarfDebug] Skip entries to big for 16 bit size field in Dwarf < 5..

Thanks for all the feedback!

Tue, Mar 19, 1:34 PM · Restricted Project
fhahn added a comment to D59156: [DAGCombiner] Use getTokenFactor in a few more cases..

TBH I didn't expect that tests would be easy, but I don't think that should be a stopper to this patch (and code coverage indicates that all these cases are active).

Tue, Mar 19, 10:24 AM · Restricted Project
fhahn updated the diff for D59518: [DwarfDebug] Skip entries to big for 16 bit size field in Dwarf < 5..

Reduce number of dbg value calls to 4000.

Tue, Mar 19, 10:09 AM · Restricted Project
fhahn added a comment to D59518: [DwarfDebug] Skip entries to big for 16 bit size field in Dwarf < 5..

Generating the test on the fly with Python seems plausible. Note you don't need 16K components, just enough components to make the location description exceed 16K bytes. If each component is (say) a 64-bit field with a max-int constant value, that's something like 11 bytes of description per field, so ~1500 fields ought to do it.

  • Duh, not 16K bytes. 64K bytes. ~6000 fields.
Tue, Mar 19, 7:22 AM · Restricted Project
fhahn updated the diff for D59518: [DwarfDebug] Skip entries to big for 16 bit size field in Dwarf < 5..

Add test generated using Python and set size to 0.

Tue, Mar 19, 7:16 AM · Restricted Project

Mon, Mar 18

fhahn created D59518: [DwarfDebug] Skip entries to big for 16 bit size field in Dwarf < 5..
Mon, Mar 18, 3:38 PM · Restricted Project
fhahn updated subscribers of D59480: [NFC] Add SchedState to allow forwarding the Scheduling state between MBB.

On a first look, the patch looks useful! Any chance to provide the follow-up patch that uses it as well? that would be helpful to see the bigger picture. Also, are you seeing any benefits by preserving the state?

Mon, Mar 18, 4:41 AM · Restricted Project

Fri, Mar 15

fhahn added a comment to D59156: [DAGCombiner] Use getTokenFactor in a few more cases..

TBH I didn't expect that tests would be easy, but I don't think that should be a stopper to this patch (and code coverage indicates that all these cases are active).

Fri, Mar 15, 5:54 AM · Restricted Project
fhahn committed rG728293ac8740: [LSR] Update test from rL356256 after rebase. (authored by fhahn).
[LSR] Update test from rL356256 after rebase.
Fri, Mar 15, 5:37 AM
fhahn committed rL356257: [LSR] Update test from rL356256 after rebase..
[LSR] Update test from rL356256 after rebase.
Fri, Mar 15, 5:36 AM
fhahn committed rGd9e88f7b7fef: [LSR] Check for signed overflow in NarrowSearchSpaceByDetectingSupersets. (authored by fhahn).
[LSR] Check for signed overflow in NarrowSearchSpaceByDetectingSupersets.
Fri, Mar 15, 5:19 AM
fhahn committed rL356256: [LSR] Check for signed overflow in NarrowSearchSpaceByDetectingSupersets..
[LSR] Check for signed overflow in NarrowSearchSpaceByDetectingSupersets.
Fri, Mar 15, 5:19 AM
fhahn closed D59211: [LSR] Check for signed overflow in NarrowSearchSpaceByDetectingSupersets..
Fri, Mar 15, 5:19 AM · Restricted Project

Thu, Mar 14

fhahn added a comment to D59065: [BasicAA] Simplify inttoptr(and(ptrtoint(X), C)) to X, if C preserves all significant bits..

I'm really afraid that this isn't sound. We've had a number of issues in this space, and we've always resisted attempts to make BasicAA look through inttoptr/ptrtotint. Once you convert to an integer, control dependencies can effectively add additional underlying objects. In cases where this is sound, why not fold away the whole inttoptr(and(ptrtoint)) in the first place?

Thu, Mar 14, 11:51 AM · Restricted Project
fhahn added a comment to D59156: [DAGCombiner] Use getTokenFactor in a few more cases..

Unfortunately this requires at least 64k stores to trigger AFAIK. It is triggered by the same input as D56740. I could try to reduce it, but I am not sure if such a big test case would be valuable?

Thu, Mar 14, 8:17 AM · Restricted Project
fhahn added a comment to D57828: Add geomean summary row to output from utils/compare.py..

ping

Thu, Mar 14, 8:00 AM · Restricted Project
fhahn added a comment to D59065: [BasicAA] Simplify inttoptr(and(ptrtoint(X), C)) to X, if C preserves all significant bits..

ping

Thu, Mar 14, 8:00 AM · Restricted Project

Tue, Mar 12

fhahn added a reviewer for D59218: [LSR] Fix signed overflow in GenerateCrossUseConstantOffsets.: efriedma.

Another case similar to D59211

Tue, Mar 12, 3:29 PM · Restricted Project

Mon, Mar 11

fhahn updated the diff for D59218: [LSR] Fix signed overflow in GenerateCrossUseConstantOffsets..

Use wrapping arithmetic

Mon, Mar 11, 1:05 PM · Restricted Project
fhahn updated the diff for D59211: [LSR] Check for signed overflow in NarrowSearchSpaceByDetectingSupersets..

use wrapping arithmetic

Mon, Mar 11, 1:05 PM · Restricted Project
fhahn added a comment to D59211: [LSR] Check for signed overflow in NarrowSearchSpaceByDetectingSupersets..

It looks like LSR doesn't deal with this sort of issue consistently... some places we try to overflow-check arithmetic on the offset, and others we use wrapping arithmetic.

What should happen, really, is that each formula includes a bitwidth, and all arithmetic involving that formula use arithmetic that wraps at that bitwidth (like an APInt). Otherwise it's not really clear what the computation actually means.

Mon, Mar 11, 12:21 PM · Restricted Project
fhahn added a reviewer for D59211: [LSR] Check for signed overflow in NarrowSearchSpaceByDetectingSupersets.: efriedma.
Mon, Mar 11, 10:37 AM · Restricted Project
fhahn added a comment to D59211: [LSR] Check for signed overflow in NarrowSearchSpaceByDetectingSupersets..

Looks like at other places we cast one operand to uint64_t and then assign the result to int64_t. Given that the operations reflect formulas based on IR types, I guess that's valid? The LangRef does not explicitly mention the behavior of signed overflow for add & co, but given that it is using 2's complement, it should be defined, right?

Mon, Mar 11, 10:36 AM · Restricted Project
fhahn created D59218: [LSR] Fix signed overflow in GenerateCrossUseConstantOffsets..
Mon, Mar 11, 9:42 AM · Restricted Project
fhahn created D59211: [LSR] Check for signed overflow in NarrowSearchSpaceByDetectingSupersets..
Mon, Mar 11, 8:01 AM · Restricted Project

Fri, Mar 8

fhahn created D59156: [DAGCombiner] Use getTokenFactor in a few more cases..
Fri, Mar 8, 2:07 PM · Restricted Project

Thu, Mar 7

fhahn created D59108: [Docs] Add top level CONTRIBUTING.md..
Thu, Mar 7, 1:03 PM · Restricted Project
fhahn added a comment to D54142: [ARM] Cortex-M4 schedule.

Hi Dave, do you plan to commit this anytime soon?

Thu, Mar 7, 9:57 AM
fhahn committed rG6ca0985aa572: [InterleavedAccessAnalysis] Fix integer overflow in insertMember. (authored by fhahn).
[InterleavedAccessAnalysis] Fix integer overflow in insertMember.
Thu, Mar 7, 9:50 AM
fhahn committed rL355613: [InterleavedAccessAnalysis] Fix integer overflow in insertMember..
[InterleavedAccessAnalysis] Fix integer overflow in insertMember.
Thu, Mar 7, 9:49 AM
fhahn closed D55538: [InterleavedAccessAnalysis] Fix integer overflow in insertMember..
Thu, Mar 7, 9:49 AM · Restricted Project

Wed, Mar 6

fhahn committed rG22ac7bf49e20: [InterleavedAccessAnalysis] Use fixed size integers for InterleaveGroup. (authored by fhahn).
[InterleavedAccessAnalysis] Use fixed size integers for InterleaveGroup.
Wed, Mar 6, 6:20 PM
fhahn committed rL355576: [InterleavedAccessAnalysis] Use fixed size integers for InterleaveGroup..
[InterleavedAccessAnalysis] Use fixed size integers for InterleaveGroup.
Wed, Mar 6, 6:20 PM
fhahn closed D58889: [InterleavedAccessAnalysis] Use fixed size integers for InterleaveGroup..
Wed, Mar 6, 6:19 PM · Restricted Project
fhahn created D59065: [BasicAA] Simplify inttoptr(and(ptrtoint(X), C)) to X, if C preserves all significant bits..
Wed, Mar 6, 5:54 PM · Restricted Project
fhahn added a comment to D59050: [InterleavedAccessAnalysis] Use unordered_map to avoid tombstone insertion..

unordered_map is going to be pretty inefficient given the key/value types... it might be worthwhile to add some sort of DenseMap relative to LLVM that handles tombstones differently. (This also just came up in https://reviews.llvm.org/D59016.)

Wed, Mar 6, 3:15 PM · Restricted Project
fhahn updated the summary of D55538: [InterleavedAccessAnalysis] Fix integer overflow in insertMember..
Wed, Mar 6, 2:04 PM · Restricted Project
fhahn created D59050: [InterleavedAccessAnalysis] Use unordered_map to avoid tombstone insertion..
Wed, Mar 6, 2:04 PM · Restricted Project
fhahn added inline comments to D55538: [InterleavedAccessAnalysis] Fix integer overflow in insertMember..
Wed, Mar 6, 2:04 PM · Restricted Project
fhahn updated the diff for D55538: [InterleavedAccessAnalysis] Fix integer overflow in insertMember..

Use helpers from CheckedArithmetic.h for overflow checks, split out tombstone issue.

Wed, Mar 6, 2:02 PM · Restricted Project

Tue, Mar 5

fhahn abandoned D59009: [BasicAA] Peak through IntToPtr(Load(%object)).

Just realized this went one step too far up the chain. The underlying object is the loaded value from the stack, but we cannot return that from GetUnderlyingObject, because it does not have a pointer type. I'll try to think of something else.

Tue, Mar 5, 10:00 PM · Restricted Project
fhahn added a comment to D59009: [BasicAA] Peak through IntToPtr(Load(%object)).

Could you describe why you think this is correct? As far as I can tell, the "underlying object" you're returning isn't even related to the input pointer.

Tue, Mar 5, 6:51 PM · Restricted Project
fhahn added inline comments to D55538: [InterleavedAccessAnalysis] Fix integer overflow in insertMember..
Tue, Mar 5, 6:38 PM · Restricted Project
fhahn added a comment to D59009: [BasicAA] Peak through IntToPtr(Load(%object)).

This partly addresses https://bugs.llvm.org/show_bug.cgi?id=40735

Tue, Mar 5, 6:30 PM · Restricted Project
fhahn created D59009: [BasicAA] Peak through IntToPtr(Load(%object)).
Tue, Mar 5, 6:21 PM · Restricted Project
fhahn committed rG13bbcb3264f7: [ARM] Sink zext/sext operands for add and sub to enable vsubl generation. (authored by fhahn).
[ARM] Sink zext/sext operands for add and sub to enable vsubl generation.
Tue, Mar 5, 4:14 PM
fhahn committed rL355460: [ARM] Sink zext/sext operands for add and sub to enable vsubl generation..
[ARM] Sink zext/sext operands for add and sub to enable vsubl generation.
Tue, Mar 5, 4:09 PM
fhahn closed D58063: [ARM] Sink zext/sext operands for add and sub to enable vsubl generation..
Tue, Mar 5, 4:09 PM · Restricted Project
fhahn committed rG74fea3665ffb: [opt] Report if the provided architecture is invalid. (authored by fhahn).
[opt] Report if the provided architecture is invalid.
Tue, Mar 5, 3:10 PM
fhahn committed rL355455: [opt] Report if the provided architecture is invalid..
[opt] Report if the provided architecture is invalid.
Tue, Mar 5, 3:10 PM
fhahn closed D58933: [opt] Report if the provided architecture is invalid..
Tue, Mar 5, 3:09 PM · Restricted Project
fhahn committed rGadd2d2e30401: [SLP] Fix invalid triple in X86 tests (authored by fhahn).
[SLP] Fix invalid triple in X86 tests
Tue, Mar 5, 9:58 AM
fhahn committed rL355420: [SLP] Fix invalid triple in X86 tests.
[SLP] Fix invalid triple in X86 tests
Tue, Mar 5, 9:58 AM
fhahn closed D58931: [SLP] Fix invalid triple in X86 tests.
Tue, Mar 5, 9:58 AM · Restricted Project
fhahn accepted D58949: [NFC] Declare the member data of class PostGenericScheduler as "protected" instead of "private".

LGTM, given we already do the same for GenericScheduler. Please wait a bit with committing, in case there are additional concerns.

Tue, Mar 5, 9:19 AM · Restricted Project

Mon, Mar 4

fhahn updated the diff for D58933: [opt] Report if the provided architecture is invalid..

Thanks Eli! I've updated the message to say unrecognized, which sounds better to me too.

Mon, Mar 4, 5:44 PM · Restricted Project
fhahn updated the summary of D58933: [opt] Report if the provided architecture is invalid..
Mon, Mar 4, 3:46 PM · Restricted Project
fhahn added a parent revision for D58933: [opt] Report if the provided architecture is invalid.: D58931: [SLP] Fix invalid triple in X86 tests.
Mon, Mar 4, 3:42 PM · Restricted Project
fhahn added a child revision for D58931: [SLP] Fix invalid triple in X86 tests: D58933: [opt] Report if the provided architecture is invalid..
Mon, Mar 4, 3:42 PM · Restricted Project
fhahn created D58933: [opt] Report if the provided architecture is invalid..
Mon, Mar 4, 3:41 PM · Restricted Project
fhahn committed rGfd2d89f98b1b: Fix invalid target triples in tests. (NFC) (authored by fhahn).
Fix invalid target triples in tests. (NFC)
Mon, Mar 4, 3:39 PM
fhahn committed rL355349: Fix invalid target triples in tests. (NFC).
Fix invalid target triples in tests. (NFC)
Mon, Mar 4, 3:39 PM
fhahn created D58931: [SLP] Fix invalid triple in X86 tests.
Mon, Mar 4, 3:24 PM · Restricted Project
fhahn added a comment to D58063: [ARM] Sink zext/sext operands for add and sub to enable vsubl generation..

Thanks Sam! Looks like I copied the test without updating them....... Should be fixed now

Mon, Mar 4, 12:04 PM · Restricted Project
fhahn updated the diff for D58063: [ARM] Sink zext/sext operands for add and sub to enable vsubl generation..

Fix do_not_sink_nonfree_* tests to actually test what they are supposed to.

Mon, Mar 4, 12:00 PM · Restricted Project

Sun, Mar 3

fhahn added a comment to D55538: [InterleavedAccessAnalysis] Fix integer overflow in insertMember..

Sorry for the long delay....

Sun, Mar 3, 7:55 PM · Restricted Project
fhahn added a child revision for D58889: [InterleavedAccessAnalysis] Use fixed size integers for InterleaveGroup.: D55538: [InterleavedAccessAnalysis] Fix integer overflow in insertMember..
Sun, Mar 3, 7:41 PM · Restricted Project
fhahn added a parent revision for D55538: [InterleavedAccessAnalysis] Fix integer overflow in insertMember.: D58889: [InterleavedAccessAnalysis] Use fixed size integers for InterleaveGroup..
Sun, Mar 3, 7:41 PM · Restricted Project
fhahn updated the diff for D55538: [InterleavedAccessAnalysis] Fix integer overflow in insertMember..

Updated to catch more cases. This now fixes 4 fuzzer failures

Sun, Mar 3, 7:41 PM · Restricted Project
fhahn created D58889: [InterleavedAccessAnalysis] Use fixed size integers for InterleaveGroup..
Sun, Mar 3, 7:35 PM · Restricted Project

Fri, Mar 1

fhahn committed rG98f11a7d75b5: [SCEV] Handle case where MaxBECount is less precise than ExactBECount for OR. (authored by fhahn).
[SCEV] Handle case where MaxBECount is less precise than ExactBECount for OR.
Fri, Mar 1, 6:32 PM
fhahn committed rL355259: [SCEV] Handle case where MaxBECount is less precise than ExactBECount for OR..
[SCEV] Handle case where MaxBECount is less precise than ExactBECount for OR.
Fri, Mar 1, 6:32 PM
fhahn closed D58853: [SCEV] Handle case where MaxBECount is less precise than ExactBECount for OR..
Fri, Mar 1, 6:32 PM · Restricted Project
fhahn committed rG3c7e92b5d618: [SCEV] Remove undef check for SCEVConstant (NFC) (authored by fhahn).
[SCEV] Remove undef check for SCEVConstant (NFC)
Fri, Mar 1, 5:57 PM
fhahn committed rL355257: [SCEV] Remove undef check for SCEVConstant (NFC).
[SCEV] Remove undef check for SCEVConstant (NFC)
Fri, Mar 1, 5:56 PM
fhahn closed D58851: [SCEV] Remove undef check for SCEVConstant (NFC).
Fri, Mar 1, 5:56 PM · Restricted Project