Page MenuHomePhabricator

hgreving (Hendrik Greving)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 31 2020, 1:07 PM (164 w, 2 d)

Recent Activity

Wed, Mar 1

hgreving added a comment to D145038: [mlir][llvm] Delete LLVMIntrinsicGen.cpp..

Is this compatible with dowstream targets defining their own intrinsics outside of Intrinics.td (in LLVM)?

Wed, Mar 1, 8:43 AM · Restricted Project, Restricted Project

Feb 13 2023

hgreving added a comment to D143936: [mlir][llvm] Reintroduce string based attribute setting..

We plan to add alias scope / access group attributes to the memcpy intrinsics soon. That will be good opportunity to add a test. I hope it is ok if I land tomorrow morning European time?

Feb 13 2023, 3:01 PM · Restricted Project, Restricted Project
hgreving accepted D143936: [mlir][llvm] Reintroduce string based attribute setting..

I wonder if we should add a test for this. Thanks a lot for the fix here.

Feb 13 2023, 12:25 PM · Restricted Project, Restricted Project
hgreving added a comment to D143654: [mlir][llvm] Store memory op metadata using op attributes..

This change broke our backend. LLVMIRIntrinsicGen.cpp::emitIntrinsic also allows for intrinsics to be included in alias scopes, but it now asserts at ModuleTranslation.cpp:1034 only supporting LoadOp|StoreOp.

Feb 13 2023, 9:17 AM · Restricted Project, Restricted Project, Restricted Project

Jan 16 2023

hgreving closed D141520: [mlir:LLVM] Fix minor bug, missing cconv translation.

Committed at 37c750a5fd13 (forgot to mark in the commit message).

Jan 16 2023, 12:21 PM · Restricted Project, Restricted Project
hgreving committed rG37c750a5fd13: [mlir:LLVM] Fix minor bug, missing cconv translation (authored by hgreving).
[mlir:LLVM] Fix minor bug, missing cconv translation
Jan 16 2023, 12:20 PM · Restricted Project, Restricted Project

Jan 11 2023

hgreving edited reviewers for D141520: [mlir:LLVM] Fix minor bug, missing cconv translation, added: alexbatashev; removed: dcaballe.
Jan 11 2023, 9:54 AM · Restricted Project, Restricted Project
hgreving requested review of D141520: [mlir:LLVM] Fix minor bug, missing cconv translation.
Jan 11 2023, 9:53 AM · Restricted Project, Restricted Project

Dec 14 2022

hgreving added a comment to D139981: [EarlyIfConversion] Add target hook to allow for multiple ifcvt iterations..

Thanks for review.

Dec 14 2022, 1:53 PM · Restricted Project, Restricted Project
hgreving committed rGddf2f90a48b6: [EarlyIfConversion] Add target hook to allow for multiple ifcvt iterations. (authored by hgreving).
[EarlyIfConversion] Add target hook to allow for multiple ifcvt iterations.
Dec 14 2022, 1:38 PM · Restricted Project, Restricted Project
hgreving closed D139981: [EarlyIfConversion] Add target hook to allow for multiple ifcvt iterations..
Dec 14 2022, 1:37 PM · Restricted Project, Restricted Project
hgreving added inline comments to D139981: [EarlyIfConversion] Add target hook to allow for multiple ifcvt iterations..
Dec 14 2022, 9:26 AM · Restricted Project, Restricted Project
hgreving updated the diff for D139981: [EarlyIfConversion] Add target hook to allow for multiple ifcvt iterations..
Dec 14 2022, 9:24 AM · Restricted Project, Restricted Project
hgreving added inline comments to D139981: [EarlyIfConversion] Add target hook to allow for multiple ifcvt iterations..
Dec 14 2022, 8:32 AM · Restricted Project, Restricted Project

Dec 13 2022

hgreving added a comment to D139981: [EarlyIfConversion] Add target hook to allow for multiple ifcvt iterations..

Hi I've added reviewers from the git log. I wonder if this change is acceptable which would help us avoiding to downstream the entire pass. Thanks in advance

Dec 13 2022, 5:04 PM · Restricted Project, Restricted Project
hgreving requested review of D139981: [EarlyIfConversion] Add target hook to allow for multiple ifcvt iterations..
Dec 13 2022, 5:02 PM · Restricted Project, Restricted Project

Oct 19 2022

Herald added projects to D43876: [LoopUnroll] Peel off iterations if it makes conditions true/false.: Restricted Project, Restricted Project.

I am open for suggestions. I think peeling off iterations at the end as Roman suggested might be worthwhile too. And opportunistically peeling off a few iterations, if the distance between start and end are low, but unrolling does not apply.

Peeling off iterations at the end might hit the case I'm trying to optimize. I will be happy to support it.

Oct 19 2022, 10:36 AM · Restricted Project, Restricted Project

Sep 14 2022

hgreving committed rG54bd8bb4520c: [mlir] Add accessor methods for I[2|4|16] types to Builder. (authored by pecopty).
[mlir] Add accessor methods for I[2|4|16] types to Builder.
Sep 14 2022, 9:07 AM · Restricted Project, Restricted Project
hgreving closed D133793: [MLIR] Add getI2Type/getI4Type/getI16type to `OpBuilder`.
Sep 14 2022, 9:07 AM · Restricted Project, Restricted Project

Sep 13 2022

hgreving accepted D133793: [MLIR] Add getI2Type/getI4Type/getI16type to `OpBuilder`.

Ok to me for the convenience method but please get one more opinion

Sep 13 2022, 12:56 PM · Restricted Project, Restricted Project
hgreving committed rG393a17b5d1d7: [ValueTypes] Define MVTs for v256i2/v128i4. (authored by hgreving).
[ValueTypes] Define MVTs for v256i2/v128i4.
Sep 13 2022, 9:04 AM · Restricted Project, Restricted Project
hgreving closed D133603: [ValueTypes] Define MVTs for v256i2/v128i4..
Sep 13 2022, 9:04 AM · Restricted Project, Restricted Project

Sep 12 2022

hgreving added a comment to D133603: [ValueTypes] Define MVTs for v256i2/v128i4..

What about EVT::getTypeForEVT?

Sep 12 2022, 2:04 PM · Restricted Project, Restricted Project
hgreving updated the diff for D133603: [ValueTypes] Define MVTs for v256i2/v128i4..

Added missed EVT::getTypeForEVT.

Sep 12 2022, 2:03 PM · Restricted Project, Restricted Project

Sep 9 2022

hgreving requested review of D133603: [ValueTypes] Define MVTs for v256i2/v128i4..
Sep 9 2022, 12:32 PM · Restricted Project, Restricted Project

Aug 30 2022

hgreving committed rG0f6a2cd2aba6: [mlir] Fix signed ceildiv, loop normalization. (authored by hgreving).
[mlir] Fix signed ceildiv, loop normalization.
Aug 30 2022, 9:56 AM · Restricted Project, Restricted Project
hgreving committed rG6a2190dffca6: [mlir] Make division unsigned. (authored by hgreving).
[mlir] Make division unsigned.
Aug 30 2022, 9:56 AM · Restricted Project, Restricted Project
hgreving closed D132953: [mlir] Fix signed ceildiv, loop normalization..
Aug 30 2022, 9:55 AM · Restricted Project, Restricted Project
hgreving closed D132701: [mlir] Make division unsigned..
Aug 30 2022, 9:55 AM · Restricted Project, Restricted Project
hgreving requested review of D132953: [mlir] Fix signed ceildiv, loop normalization..
Aug 30 2022, 9:31 AM · Restricted Project, Restricted Project
hgreving committed rG3d5ea53906f1: [BasicBlockUtils] Amend test for loop metadata. (authored by hgreving).
[BasicBlockUtils] Amend test for loop metadata.
Aug 30 2022, 9:30 AM · Restricted Project, Restricted Project

Aug 26 2022

hgreving updated the diff for D132701: [mlir] Make division unsigned..
Aug 26 2022, 9:05 AM · Restricted Project, Restricted Project
hgreving added a reviewer for D132701: [mlir] Make division unsigned.: ftynse.
Aug 26 2022, 8:10 AM · Restricted Project, Restricted Project
hgreving reclaimed D132701: [mlir] Make division unsigned..

Re-opening

Aug 26 2022, 8:08 AM · Restricted Project, Restricted Project
hgreving abandoned D132701: [mlir] Make division unsigned..

This patch is wrong, abandoning.

Aug 26 2022, 7:40 AM · Restricted Project, Restricted Project

Aug 25 2022

hgreving requested review of D132701: [mlir] Make division unsigned..
Aug 25 2022, 12:57 PM · Restricted Project, Restricted Project

Jul 21 2022

hgreving added inline comments to D129161: [MachinePipeliner] Consider only direct path successors when calculating circuit latency.
Jul 21 2022, 7:24 PM · Restricted Project, Restricted Project
hgreving accepted D129161: [MachinePipeliner] Consider only direct path successors when calculating circuit latency.
Jul 21 2022, 2:01 PM · Restricted Project, Restricted Project

Jul 20 2022

hgreving accepted D129161: [MachinePipeliner] Consider only direct path successors when calculating circuit latency.

LGTM

Jul 20 2022, 7:56 AM · Restricted Project, Restricted Project

Jul 19 2022

hgreving added a comment to D129161: [MachinePipeliner] Consider only direct path successors when calculating circuit latency.

This was the issue I commented on in both of your comments re: including the back edge of the circuit in the Latency calculations for NodeSet. Our backend 'skips' the PHI and calculates the operand latency across the backedge to the true use.

I think I was talking about something different, most probably updatePhiDependences.
As you can see there, the Anti dependence created in this function gets the latency 1, not considering the latency of the instruction which feeds the PHI. Similarly, instructions which depend on PHIs get latency 0. This roughly means that the latency computed between the real instructions connected through a PHI node is 1, which in many cases far from accurate.

We recently resolved this by implementing a post-expansion insertion of scheduling barriers. Each modulo cycle is considered its own region and is, therefore, not reordered. There's some magic in the post-RA scheduler that undoes this so that we can actually schedule the whole kernel, but I digress.

Jul 19 2022, 12:16 PM · Restricted Project, Restricted Project

Jul 18 2022

hgreving added a comment to D129161: [MachinePipeliner] Consider only direct path successors when calculating circuit latency.

Are you working on a backend where writing a test for this is feasible, like Hexagon?

Jul 18 2022, 6:08 PM · Restricted Project, Restricted Project
hgreving added a comment to D129161: [MachinePipeliner] Consider only direct path successors when calculating circuit latency.

1 -> 2, 1 -> 3, 2 -> 3, and 3 -> 1
Assume edges are all weighted 1.
Circuit 1 -> 3 correctly calculated as Latency = 1

Jul 18 2022, 12:12 PM · Restricted Project, Restricted Project

Jun 6 2022

hgreving committed rGa43d25734a46: [ModuloSchedule] Fix terminator update when peeling. (authored by hgreving).
[ModuloSchedule] Fix terminator update when peeling.
Jun 6 2022, 12:53 PM · Restricted Project, Restricted Project
hgreving closed D126386: [ModuloSchedule] Fix terminator update when peeling..
Jun 6 2022, 12:52 PM · Restricted Project, Restricted Project
hgreving removed reviewers for D126386: [ModuloSchedule] Fix terminator update when peeling.: aeubanks, dpenry.
Jun 6 2022, 12:50 PM · Restricted Project, Restricted Project

Jun 2 2022

hgreving added a comment to D126386: [ModuloSchedule] Fix terminator update when peeling..

Added more reviewers with history of the modulo expansion code, since I believe there is no feasible test for upstream targets, see commit message.

Jun 2 2022, 10:49 AM · Restricted Project, Restricted Project
hgreving added a reviewer for D126386: [ModuloSchedule] Fix terminator update when peeling.: dpenry.
Jun 2 2022, 10:46 AM · Restricted Project, Restricted Project

Jun 1 2022

hgreving committed rGa92ed167f2c9: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4. (authored by hgreving).
[ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4.
Jun 1 2022, 6:06 PM · Restricted Project, Restricted Project
hgreving added a comment to D125247: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..

Reverted the patch in repo and re-pushing again. The only difference of the new push is s/enum_seq_inclusive/enum_seq/ in TargetLoweringBase.cpp.

Jun 1 2022, 5:54 PM · Restricted Project, Restricted Project
hgreving added a reverting change for D125247: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4.: rGe9d05cc7d82c: Revert "[ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4.".
Jun 1 2022, 1:29 PM · Restricted Project, Restricted Project
hgreving added a reverting change for rG430ac5c3029c: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4.: rGe9d05cc7d82c: Revert "[ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4.".
Jun 1 2022, 1:29 PM · Restricted Project, Restricted Project
hgreving committed rGe9d05cc7d82c: Revert "[ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4." (authored by hgreving).
Revert "[ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4."
Jun 1 2022, 1:29 PM · Restricted Project, Restricted Project
hgreving committed rG430ac5c3029c: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4. (authored by hgreving).
[ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4.
Jun 1 2022, 12:48 PM · Restricted Project, Restricted Project
hgreving closed D125247: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..
Jun 1 2022, 12:48 PM · Restricted Project, Restricted Project
hgreving updated the summary of D125247: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..
Jun 1 2022, 11:53 AM · Restricted Project, Restricted Project
hgreving removed reviewers for D125247: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4.: jmolloy, ThomasRaoux.
Jun 1 2022, 11:46 AM · Restricted Project, Restricted Project
hgreving updated the diff for D125247: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..

Rebase only.

Jun 1 2022, 11:46 AM · Restricted Project, Restricted Project

May 26 2022

hgreving added a reviewer for D126386: [ModuloSchedule] Fix terminator update when peeling.: aeubanks.
May 26 2022, 4:58 PM · Restricted Project, Restricted Project

May 25 2022

hgreving updated the summary of D126386: [ModuloSchedule] Fix terminator update when peeling..
May 25 2022, 2:13 PM · Restricted Project, Restricted Project
hgreving added a comment to D126386: [ModuloSchedule] Fix terminator update when peeling..

There are a few lit failures, I will look at those first.

May 25 2022, 11:43 AM · Restricted Project, Restricted Project
hgreving added reviewers for D126386: [ModuloSchedule] Fix terminator update when peeling.: jmolloy, ThomasRaoux.
May 25 2022, 11:43 AM · Restricted Project, Restricted Project
hgreving updated the diff for D126386: [ModuloSchedule] Fix terminator update when peeling..

Updates patch. Let's do it straight forward and support cases where no branch is needed to the fallthrough.

May 25 2022, 11:43 AM · Restricted Project, Restricted Project
hgreving added a comment to D126386: [ModuloSchedule] Fix terminator update when peeling..

There are a few lit failures, I will look at those first.

May 25 2022, 8:30 AM · Restricted Project, Restricted Project
hgreving removed reviewers for D126386: [ModuloSchedule] Fix terminator update when peeling.: ThomasRaoux, jmolloy.
May 25 2022, 8:30 AM · Restricted Project, Restricted Project
hgreving requested review of D126386: [ModuloSchedule] Fix terminator update when peeling..
May 25 2022, 8:22 AM · Restricted Project, Restricted Project

May 24 2022

hgreving requested review of D126307: [BasicBlockUtils] Amend test for loop metadata..
May 24 2022, 10:15 AM · Restricted Project, Restricted Project
hgreving added a comment to D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header..

LGTM. Please wait for @fhahn LGTM as well.

It looks like the patch was landed but the commit message seems a bit out-of-sync with the code.it

May 24 2022, 7:06 AM · Restricted Project, Restricted Project

May 23 2022

hgreving committed rG4f93d5cc1d47: [BasicBlockUtils] Do not move loop metadata if outer loop header. (authored by hgreving).
[BasicBlockUtils] Do not move loop metadata if outer loop header.
May 23 2022, 4:41 PM · Restricted Project, Restricted Project
hgreving committed rGe5d8fb690e35: [BasicBlockUtils] Add corner case test for loop metadata. (authored by hgreving).
[BasicBlockUtils] Add corner case test for loop metadata.
May 23 2022, 4:41 PM · Restricted Project, Restricted Project
hgreving closed D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header..
May 23 2022, 4:41 PM · Restricted Project, Restricted Project
hgreving closed D125696: [BasicBlockUtils] Add corner case test for loop metadata..
May 23 2022, 4:41 PM · Restricted Project, Restricted Project
hgreving added a comment to D125696: [BasicBlockUtils] Add corner case test for loop metadata..

precommitting a test for an approved patch generally shouldn't require review

May 23 2022, 4:19 PM · Restricted Project, Restricted Project
hgreving added a reviewer for D125696: [BasicBlockUtils] Add corner case test for loop metadata.: reames.
May 23 2022, 2:09 PM · Restricted Project, Restricted Project
hgreving added a reviewer for D125696: [BasicBlockUtils] Add corner case test for loop metadata.: Meinersbur.
May 23 2022, 2:08 PM · Restricted Project, Restricted Project
hgreving updated the diff for D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header..
May 23 2022, 1:12 PM · Restricted Project, Restricted Project
hgreving added inline comments to D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header..
May 23 2022, 7:32 AM · Restricted Project, Restricted Project

May 20 2022

hgreving added a comment to D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header..

Friendly ping on this review.

May 20 2022, 3:47 PM · Restricted Project, Restricted Project
hgreving added a comment to D125247: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..

Friendly ping on this review.

May 20 2022, 3:47 PM · Restricted Project, Restricted Project
hgreving added a comment to D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header..
May 20 2022, 3:47 PM · Restricted Project, Restricted Project

May 16 2022

hgreving added a comment to D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header..

Thanks for the patch! Makes sense, I added some suggestions with respect to the test.

Should be done.

May 16 2022, 9:00 AM · Restricted Project, Restricted Project
hgreving updated the diff for D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header..
May 16 2022, 8:55 AM · Restricted Project, Restricted Project
hgreving updated the diff for D125696: [BasicBlockUtils] Add corner case test for loop metadata..
May 16 2022, 8:55 AM · Restricted Project, Restricted Project
hgreving added a comment to D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header..

Thanks for the patch! Makes sense, I added some suggestions with respect to the test.

May 16 2022, 8:50 AM · Restricted Project, Restricted Project
hgreving updated the diff for D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header..

Rebased to https://reviews.llvm.org/D125696

May 16 2022, 8:49 AM · Restricted Project, Restricted Project
hgreving requested review of D125696: [BasicBlockUtils] Add corner case test for loop metadata..
May 16 2022, 8:48 AM · Restricted Project, Restricted Project

May 13 2022

hgreving updated the diff for D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header..

Whoa another corner case.

May 13 2022, 2:03 PM · Restricted Project, Restricted Project
hgreving updated the diff for D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header..
May 13 2022, 12:26 PM · Restricted Project, Restricted Project
hgreving retitled D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header. from BasicBlockUtils] Do not move loop metadata if outer loop header. to [BasicBlockUtils] Do not move loop metadata if outer loop header..
May 13 2022, 11:47 AM · Restricted Project, Restricted Project
hgreving requested review of D125574: [BasicBlockUtils] Do not move loop metadata if outer loop header..
May 13 2022, 11:47 AM · Restricted Project, Restricted Project

May 10 2022

hgreving updated the diff for D125247: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..

Added a few clang-format on/off. I suggest to accept some of the enum changes in IntrinsicEmitter.cpp, Function.cpp, it feels unnecessary not to accept clang-format here. I wonder if these deltas are due to different clang-format versions in the past.

May 10 2022, 2:08 PM · Restricted Project, Restricted Project
hgreving added a comment to D125247: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..

Please upload patches with full context using git diff -U999999

May 10 2022, 9:45 AM · Restricted Project, Restricted Project
hgreving updated the diff for D125247: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..

Full context update (excl clang-format off notations yet)

May 10 2022, 9:45 AM · Restricted Project, Restricted Project
hgreving added a comment to D125247: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..

clang-format changes. I am aware that some of the changes look like they do not follow existing code. I'm not sure why clang-format does this.

We've been ignoring clang-format on these files. Maybe we should add // clang-format off markers

May 10 2022, 9:33 AM · Restricted Project, Restricted Project
hgreving updated the diff for D125247: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..

clang-format changes. I am aware that some of the changes look like they do not follow existing code. I'm not sure why clang-format does this.

May 10 2022, 9:21 AM · Restricted Project, Restricted Project

May 9 2022

hgreving added reviewers for D125247: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4.: craig.topper, jmolloy, majnemer, ThomasRaoux.
May 9 2022, 2:34 PM · Restricted Project, Restricted Project
hgreving requested review of D125247: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..
May 9 2022, 10:48 AM · Restricted Project, Restricted Project

May 7 2022

hgreving abandoned D125018: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..

Abandoning, may try the integer route or check the sel DAG failures more closely.

May 7 2022, 7:50 AM · Restricted Project, Restricted Project

May 6 2022

hgreving updated the diff for D125018: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..
May 6 2022, 6:29 PM · Restricted Project, Restricted Project
hgreving updated the diff for D125018: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..
May 6 2022, 5:50 PM · Restricted Project, Restricted Project
hgreving added inline comments to D125018: [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4..
May 6 2022, 4:36 PM · Restricted Project, Restricted Project