Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

Pierre-vh (Pierre van Houtryve)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 3 2018, 7:49 AM (250 w, 5 d)

Recent Activity

Mon, Sep 11

Pierre-vh committed rG2126a18d867f: [AMDGPU] Regen combine-fma-add-mul-pre-legalize.mir (authored by Pierre-vh).
[AMDGPU] Regen combine-fma-add-mul-pre-legalize.mir
Mon, Sep 11, 11:50 PM · Restricted Project, Restricted Project

Thu, Sep 7

Pierre-vh abandoned D146023: [AMDGPU] Remove Code Object V2.

https://github.com/llvm/llvm-project/pull/65715

Thu, Sep 7, 11:02 PM · Restricted Project, Restricted Project, Restricted Project
Pierre-vh added inline comments to D159111: [TableGen][GlobalISel] Add support for matching/writing MIFlags in MIR Patterns.
Thu, Sep 7, 5:27 AM · Restricted Project, Restricted Project
Pierre-vh committed rG69036eb7358b: [AMDGPU] Fix code-size-estimate.mir test (authored by Pierre-vh).
[AMDGPU] Fix code-size-estimate.mir test
Thu, Sep 7, 5:04 AM · Restricted Project, Restricted Project

Wed, Sep 6

Pierre-vh added inline comments to D159111: [TableGen][GlobalISel] Add support for matching/writing MIFlags in MIR Patterns.
Wed, Sep 6, 12:10 AM · Restricted Project, Restricted Project

Tue, Sep 5

Pierre-vh committed rG1456dd1a65ec: Fix GlobalISel TableGen CODEOWNERS patterns (authored by Pierre-vh).
Fix GlobalISel TableGen CODEOWNERS patterns
Tue, Sep 5, 6:11 AM · Restricted Project

Mon, Sep 4

Pierre-vh updated the diff for D159111: [TableGen][GlobalISel] Add support for matching/writing MIFlags in MIR Patterns.

Rebase

Mon, Sep 4, 11:20 PM · Restricted Project, Restricted Project
Pierre-vh committed rG844c0da77766: [TableGen][GlobalISel] Add MIR Pattern Builtins (authored by Pierre-vh).
[TableGen][GlobalISel] Add MIR Pattern Builtins
Mon, Sep 4, 11:20 PM · Restricted Project, Restricted Project
Pierre-vh closed D158975: [TableGen][GlobalISel] Add MIR Pattern Builtins.
Mon, Sep 4, 11:20 PM · Restricted Project, Restricted Project
Pierre-vh committed rG4e513f69a155: [GlobalISel] Cleanup Combine.td (authored by Pierre-vh).
[GlobalISel] Cleanup Combine.td
Mon, Sep 4, 11:20 PM · Restricted Project, Restricted Project
Pierre-vh closed D158714: [GlobalISel] Cleanup Combine.td.
Mon, Sep 4, 11:19 PM · Restricted Project, Restricted Project
Pierre-vh committed rGaaf6755631d4: [GlobalISel] Refactor Combiner API (authored by Pierre-vh).
[GlobalISel] Refactor Combiner API
Mon, Sep 4, 11:19 PM · Restricted Project, Restricted Project
Pierre-vh closed D158713: [GlobalISel] Refactor Combiner API.
Mon, Sep 4, 11:19 PM · Restricted Project, Restricted Project

Thu, Aug 31

Pierre-vh updated the diff for D158713: [GlobalISel] Refactor Combiner API.

Rebase + gentle ping

Thu, Aug 31, 4:16 AM · Restricted Project, Restricted Project
Pierre-vh committed rG54d0cf58fb5e: [TableGen] Remove & Replace old GICombiner Backend (authored by Pierre-vh).
[TableGen] Remove & Replace old GICombiner Backend
Thu, Aug 31, 4:16 AM · Restricted Project, Restricted Project
Pierre-vh closed D158710: [TableGen] Remove & Replace old GICombiner Backend.
Thu, Aug 31, 4:16 AM · Restricted Project, Restricted Project
Pierre-vh added a comment to D158710: [TableGen] Remove & Replace old GICombiner Backend.

ping

Thu, Aug 31, 2:20 AM · Restricted Project, Restricted Project
Pierre-vh abandoned D158598: [RFC][GlobalISel] Remove const from most MatchTableExecutor methods.
Thu, Aug 31, 2:20 AM · Restricted Project, Restricted Project

Tue, Aug 29

Pierre-vh accepted D159097: [GlobalISel] Try to commute G_CONSTANT_FOLD_BARRIER LHS operands to RHS..
Tue, Aug 29, 11:58 PM · Restricted Project, Restricted Project
Pierre-vh updated the diff for D159111: [TableGen][GlobalISel] Add support for matching/writing MIFlags in MIR Patterns.

Update docs

Tue, Aug 29, 11:33 PM · Restricted Project, Restricted Project
Pierre-vh added inline comments to D159111: [TableGen][GlobalISel] Add support for matching/writing MIFlags in MIR Patterns.
Tue, Aug 29, 11:28 PM · Restricted Project, Restricted Project
Pierre-vh updated the diff for D159111: [TableGen][GlobalISel] Add support for matching/writing MIFlags in MIR Patterns.

Docs

Tue, Aug 29, 8:36 AM · Restricted Project, Restricted Project
Pierre-vh requested review of D159111: [TableGen][GlobalISel] Add support for matching/writing MIFlags in MIR Patterns.
Tue, Aug 29, 8:27 AM · Restricted Project, Restricted Project
Pierre-vh updated the diff for D158975: [TableGen][GlobalISel] Add MIR Pattern Builtins.

Fix test
(Note that this depends on some other patches so it can't land yet)

Tue, Aug 29, 8:21 AM · Restricted Project, Restricted Project

Mon, Aug 28

Pierre-vh updated the diff for D158975: [TableGen][GlobalISel] Add MIR Pattern Builtins.

fix small nit

Mon, Aug 28, 3:28 AM · Restricted Project, Restricted Project
Pierre-vh added inline comments to D158975: [TableGen][GlobalISel] Add MIR Pattern Builtins.
Mon, Aug 28, 3:28 AM · Restricted Project, Restricted Project
Pierre-vh requested review of D158975: [TableGen][GlobalISel] Add MIR Pattern Builtins.
Mon, Aug 28, 3:25 AM · Restricted Project, Restricted Project

Aug 24 2023

Pierre-vh accepted D156534: GlobalISel: Add shifts to constant_fold combine.

LGTM, don't forget to rebase & rerun tests in case there's more updates needed following MIR patterns landing :)

Aug 24 2023, 4:35 AM · Restricted Project, Restricted Project
Pierre-vh accepted D157511: GlobalISel: Add constant fold combine for zext/sext/anyext.

LGTM but rebase & retest since MIR patterns landed, it should solve a regression we saw during review

Aug 24 2023, 3:54 AM · Restricted Project, Restricted Project
Pierre-vh requested review of D158714: [GlobalISel] Cleanup Combine.td.
Aug 24 2023, 12:43 AM · Restricted Project, Restricted Project
Pierre-vh requested review of D158713: [GlobalISel] Refactor Combiner API.
Aug 24 2023, 12:42 AM · Restricted Project, Restricted Project
Pierre-vh requested review of D158710: [TableGen] Remove & Replace old GICombiner Backend.
Aug 24 2023, 12:10 AM · Restricted Project, Restricted Project
Pierre-vh committed rG0a59e1a85c3b: [GlobalIsSel] Allow using PatFrags with multiple defs as the root of a combine… (authored by Pierre-vh).
[GlobalIsSel] Allow using PatFrags with multiple defs as the root of a combine…
Aug 24 2023, 12:09 AM · Restricted Project, Restricted Project
Pierre-vh closed D157700: [GlobalIsSel] Allow using PatFrags with multiple defs as the root of a combine rule.
Aug 24 2023, 12:09 AM · Restricted Project, Restricted Project
Pierre-vh planned changes to D158598: [RFC][GlobalISel] Remove const from most MatchTableExecutor methods.

Additional context: While refactoring this area for some upcoming diffs (removing the deprecated GICombiner backend), I changed some data members from T& to T and got a lot of errors due to this.
While I usually favor const-correctness as much as possible, it's really never respected here. We always use references or pointers, which means we can always call non-const functions on those even in a const function.

Example:

struct Foo {
    int foo() {
        return 0;
    }
};

The foo here would just have to be const? don't see the issue

Aug 24 2023, 12:08 AM · Restricted Project, Restricted Project

Aug 23 2023

Pierre-vh added a comment to D158598: [RFC][GlobalISel] Remove const from most MatchTableExecutor methods.

Additional context: While refactoring this area for some upcoming diffs (removing the deprecated GICombiner backend), I changed some data members from T& to T and got a lot of errors due to this.
While I usually favor const-correctness as much as possible, it's really never respected here. We always use references or pointers, which means we can always call non-const functions on those even in a const function.

Aug 23 2023, 5:22 AM · Restricted Project, Restricted Project
Pierre-vh requested review of D158598: [RFC][GlobalISel] Remove const from most MatchTableExecutor methods.
Aug 23 2023, 5:17 AM · Restricted Project, Restricted Project
Pierre-vh accepted D158596: [GlobalISel] Limit shift_of_shifted_logic_chain to non-zero folds.
Aug 23 2023, 5:02 AM · Restricted Project, Restricted Project

Aug 22 2023

Pierre-vh added a comment to D146023: [AMDGPU] Remove Code Object V2.

ping

Aug 22 2023, 11:48 PM · Restricted Project, Restricted Project, Restricted Project
Pierre-vh added inline comments to D157591: [AArch64][GlobalISel] Optimize Combine Funnel Shift.
Aug 22 2023, 12:39 AM · Restricted Project, Restricted Project
Pierre-vh accepted D158316: [AMDGPU] Add s-memrealtime and s-memtime-inst to RemoveIncompatibleFunctions.

LGTM but maybe wait for @arsenm or @b-sumner to comment just in case

Aug 22 2023, 12:36 AM · Restricted Project, Restricted Project
Pierre-vh updated the diff for D157700: [GlobalIsSel] Allow using PatFrags with multiple defs as the root of a combine rule.

Use ArrayRef

Aug 22 2023, 12:34 AM · Restricted Project, Restricted Project
Pierre-vh committed rG2d87319f06ef: [GlobalISel] Rewrite some simple rules using MIR Patterns (authored by Pierre-vh).
[GlobalISel] Rewrite some simple rules using MIR Patterns
Aug 22 2023, 12:10 AM · Restricted Project, Restricted Project
Pierre-vh closed D157690: [GlobalISel] Rewrite some simple rules using MIR Patterns.
Aug 22 2023, 12:10 AM · Restricted Project, Restricted Project

Aug 21 2023

Pierre-vh added inline comments to D157700: [GlobalIsSel] Allow using PatFrags with multiple defs as the root of a combine rule.
Aug 21 2023, 11:58 PM · Restricted Project, Restricted Project
Pierre-vh added a comment to D86617: [GlobalISel][TableGen] Take first result for multi-output instructions.

Long term I assume we should just have MIR patterns working for ISel, but as long as we rely on DAG patterns I believe this is a good change (we inevitably need to make some tradeoffs in this case anyway), can we land it or are there still some objections?

Aug 21 2023, 11:53 PM · Restricted Project, Restricted Project

Aug 11 2023

Pierre-vh abandoned D157707: [AMDGPU] Remove assert in canBreakPHINode.

Actual fix is D157711

Aug 11 2023, 6:24 AM · Restricted Project, Restricted Project
Pierre-vh committed rGb7503ae8a07e: [AMDGPU] Clear BreakPhiNodesCache in-between functions (authored by Pierre-vh).
[AMDGPU] Clear BreakPhiNodesCache in-between functions
Aug 11 2023, 6:24 AM · Restricted Project, Restricted Project
Pierre-vh closed D157711: [AMDGPU] Clear BreakPhiNodesCache in-between functions.
Aug 11 2023, 6:23 AM · Restricted Project, Restricted Project
Pierre-vh requested review of D157711: [AMDGPU] Clear BreakPhiNodesCache in-between functions.
Aug 11 2023, 6:21 AM · Restricted Project, Restricted Project
Pierre-vh accepted D156669: AMDGPU: Handle llvm.stacksave and llvm.stackrestore.
Aug 11 2023, 6:07 AM · Restricted Project, Restricted Project
Pierre-vh updated the summary of D157707: [AMDGPU] Remove assert in canBreakPHINode.
Aug 11 2023, 5:56 AM · Restricted Project, Restricted Project
Pierre-vh requested review of D157707: [AMDGPU] Remove assert in canBreakPHINode.
Aug 11 2023, 5:29 AM · Restricted Project, Restricted Project
Pierre-vh updated the diff for D157690: [GlobalISel] Rewrite some simple rules using MIR Patterns.

Rebase on regenerated checks

Aug 11 2023, 3:45 AM · Restricted Project, Restricted Project
Pierre-vh committed rG14cfe929754a: [AArch64][GlobalISel] Regenerate select combine tests (authored by Pierre-vh).
[AArch64][GlobalISel] Regenerate select combine tests
Aug 11 2023, 3:45 AM · Restricted Project, Restricted Project
Pierre-vh added inline comments to D157700: [GlobalIsSel] Allow using PatFrags with multiple defs as the root of a combine rule.
Aug 11 2023, 3:42 AM · Restricted Project, Restricted Project
Pierre-vh updated the diff for D157700: [GlobalIsSel] Allow using PatFrags with multiple defs as the root of a combine rule.

Document the new limitation

Aug 11 2023, 3:31 AM · Restricted Project, Restricted Project
Pierre-vh added inline comments to D157690: [GlobalISel] Rewrite some simple rules using MIR Patterns.
Aug 11 2023, 3:28 AM · Restricted Project, Restricted Project
Pierre-vh added inline comments to D157690: [GlobalISel] Rewrite some simple rules using MIR Patterns.
Aug 11 2023, 3:27 AM · Restricted Project, Restricted Project
Pierre-vh requested review of D157700: [GlobalIsSel] Allow using PatFrags with multiple defs as the root of a combine rule.
Aug 11 2023, 3:24 AM · Restricted Project, Restricted Project
Pierre-vh updated the diff for D157690: [GlobalISel] Rewrite some simple rules using MIR Patterns.

Rebase

Aug 11 2023, 2:10 AM · Restricted Project, Restricted Project
Pierre-vh committed rG3a1eefae4b2f: [GlobalISel] Do not discard InstructionPattern::checkSemantics result (authored by Pierre-vh).
[GlobalISel] Do not discard InstructionPattern::checkSemantics result
Aug 11 2023, 2:10 AM · Restricted Project, Restricted Project
Pierre-vh requested review of D157690: [GlobalISel] Rewrite some simple rules using MIR Patterns.
Aug 11 2023, 2:08 AM · Restricted Project, Restricted Project
Pierre-vh added inline comments to D157511: GlobalISel: Add constant fold combine for zext/sext/anyext.
Aug 11 2023, 12:20 AM · Restricted Project, Restricted Project
Pierre-vh committed rG65336f807058: [GlobalISel] Fix use of `std::vector` with forward decl (authored by Pierre-vh).
[GlobalISel] Fix use of `std::vector` with forward decl
Aug 11 2023, 12:09 AM · Restricted Project, Restricted Project

Aug 10 2023

Pierre-vh committed rG63afb70503bf: [RFC][GlobalISel] Overhauled MIR Patterns Support for Combiners (authored by Pierre-vh).
[RFC][GlobalISel] Overhauled MIR Patterns Support for Combiners
Aug 10 2023, 11:55 PM · Restricted Project, Restricted Project
Pierre-vh closed D156315: [RFC][GlobalISel] Overhauled MIR Patterns Support for Combiners.
Aug 10 2023, 11:55 PM · Restricted Project, Restricted Project
Pierre-vh committed rG490a867f16c0: [GlobalISel] Also set dead flags of implicit defs added by BuildMI (authored by Pierre-vh).
[GlobalISel] Also set dead flags of implicit defs added by BuildMI
Aug 10 2023, 11:39 PM · Restricted Project, Restricted Project
Pierre-vh closed D157515: [GlobalISel] Also set dead flags of implicit defs added by BuildMI.
Aug 10 2023, 11:38 PM · Restricted Project, Restricted Project
Pierre-vh committed rG89e91e4c0c60: [AMDGPU] Remove post-PromoteAlloca SROA run (authored by Pierre-vh).
[AMDGPU] Remove post-PromoteAlloca SROA run
Aug 10 2023, 11:29 PM · Restricted Project, Restricted Project
Pierre-vh closed D156398: [AMDGPU] Remove post-PromoteAlloca SROA run.
Aug 10 2023, 11:29 PM · Restricted Project, Restricted Project
Pierre-vh updated the diff for D157515: [GlobalISel] Also set dead flags of implicit defs added by BuildMI.

Use implicit op idx

Aug 10 2023, 1:08 AM · Restricted Project, Restricted Project

Aug 9 2023

Pierre-vh added a comment to D156315: [RFC][GlobalISel] Overhauled MIR Patterns Support for Combiners.

@aemerson are you also fine with landing it?
(Note: I'll be away next week for about 10 days so earliest I can pick up bugs is after the 23rd/24th - I don't mind waiting until I'm back to land this if preferred)

Aug 9 2023, 11:33 PM · Restricted Project, Restricted Project
Pierre-vh updated the diff for D157515: [GlobalISel] Also set dead flags of implicit defs added by BuildMI.

Address comments

Aug 9 2023, 8:43 AM · Restricted Project, Restricted Project
Pierre-vh updated the diff for D157515: [GlobalISel] Also set dead flags of implicit defs added by BuildMI.

Remove useless new testcase

Aug 9 2023, 8:12 AM · Restricted Project, Restricted Project
Pierre-vh updated the summary of D157515: [GlobalISel] Also set dead flags of implicit defs added by BuildMI.
Aug 9 2023, 8:11 AM · Restricted Project, Restricted Project
Pierre-vh requested review of D157515: [GlobalISel] Also set dead flags of implicit defs added by BuildMI.
Aug 9 2023, 8:09 AM · Restricted Project, Restricted Project
Pierre-vh committed rGc3cfbbc4160c: [GlobalISel] Add dead flags to implicit defs in ISel (authored by Pierre-vh).
[GlobalISel] Add dead flags to implicit defs in ISel
Aug 9 2023, 5:21 AM · Restricted Project, Restricted Project
Pierre-vh closed D157273: [GlobalISel] Add dead flags to implicit defs in ISel.
Aug 9 2023, 5:21 AM · Restricted Project, Restricted Project
Pierre-vh added inline comments to D156315: [RFC][GlobalISel] Overhauled MIR Patterns Support for Combiners.
Aug 9 2023, 12:51 AM · Restricted Project, Restricted Project
Pierre-vh updated the diff for D156315: [RFC][GlobalISel] Overhauled MIR Patterns Support for Combiners.

Comments

Aug 9 2023, 12:50 AM · Restricted Project, Restricted Project
Pierre-vh accepted D157470: [NFC]Add assert to avoid deref nullptr.

Thanks for the fix! It's good to commit as-is if you want a quick fix, but the version I propose is the best possible user experience.
Note it's all going away in D156315 anyway.

Aug 9 2023, 12:17 AM · Restricted Project, Restricted Project

Aug 8 2023

Pierre-vh committed rG96e1032a5e59: [AMDGPU] Add extended-image-insts to RemoveIncompatibleFunctions (authored by Pierre-vh).
[AMDGPU] Add extended-image-insts to RemoveIncompatibleFunctions
Aug 8 2023, 6:16 AM · Restricted Project, Restricted Project
Pierre-vh committed rG98ccc70b93a3: [DAG] Fix crash in replaceStoreOfInsertLoad (authored by Pierre-vh).
[DAG] Fix crash in replaceStoreOfInsertLoad
Aug 8 2023, 6:16 AM · Restricted Project, Restricted Project
Pierre-vh closed D156973: [AMDGPU] Add extended-image-insts to RemoveIncompatibleFunctions.
Aug 8 2023, 6:16 AM · Restricted Project, Restricted Project
Pierre-vh closed D156972: [DAG] Fix crash in replaceStoreOfInsertLoad.
Aug 8 2023, 6:15 AM · Restricted Project, Restricted Project
Pierre-vh added a comment to D157273: [GlobalISel] Add dead flags to implicit defs in ISel.

A couple of things to note:

  • This is a bit naive, it only works on the Record* and doesn't test for subregs or RC, should it?

Probably can ignore this

  • One of the tradeoffs of doing this at the TableGen level is that we don't know about reserved registers. Do they matter in this case? How could we handle them?

It doesn't matter, dead flags shouldn't be set on reserved registers but also shouldn't matter

Aug 8 2023, 2:49 AM · Restricted Project, Restricted Project
Pierre-vh updated the diff for D157273: [GlobalISel] Add dead flags to implicit defs in ISel.

Comments

Aug 8 2023, 2:49 AM · Restricted Project, Restricted Project

Aug 7 2023

Pierre-vh added a comment to D156707: AMDGPU: Handle multiple uses when matching sincos.

Do you think it's worth running a pass like InstSimplify after the tests to check the instruction does get eliminated?
Maybe with a different CHECK line?

Aug 7 2023, 5:01 AM · Restricted Project, Restricted Project
Pierre-vh added a comment to D157273: [GlobalISel] Add dead flags to implicit defs in ISel.

Are there any cases where this improves codegen?

Aug 7 2023, 4:08 AM · Restricted Project, Restricted Project
Pierre-vh added a comment to D157273: [GlobalISel] Add dead flags to implicit defs in ISel.

A couple of things to note:

  • This is a bit naive, it only works on the Record* and doesn't test for subregs or RC, should it?
  • One of the tradeoffs of doing this at the TableGen level is that we don't know about reserved registers. Do they matter in this case? How could we handle them?
Aug 7 2023, 4:02 AM · Restricted Project, Restricted Project
Pierre-vh requested review of D157273: [GlobalISel] Add dead flags to implicit defs in ISel.
Aug 7 2023, 4:00 AM · Restricted Project, Restricted Project

Aug 4 2023

Pierre-vh accepted D156670: AMDGPU/GlobalISel: Handle stacksave/stackrestore.
Aug 4 2023, 6:22 AM · Restricted Project, Restricted Project
Pierre-vh added inline comments to D156669: AMDGPU: Handle llvm.stacksave and llvm.stackrestore.
Aug 4 2023, 6:17 AM · Restricted Project, Restricted Project
Pierre-vh committed rG2532b68f684c: [TableGen] Do not compile CombineRuleBuilder::verify in release builds (authored by Pierre-vh).
[TableGen] Do not compile CombineRuleBuilder::verify in release builds
Aug 4 2023, 5:00 AM · Restricted Project, Restricted Project
Pierre-vh closed D157085: [TableGen] Do not compile CombineRuleBuilder::verify in release builds.
Aug 4 2023, 5:00 AM · Restricted Project, Restricted Project
Pierre-vh requested review of D157085: [TableGen] Do not compile CombineRuleBuilder::verify in release builds.
Aug 4 2023, 4:51 AM · Restricted Project, Restricted Project
Pierre-vh updated the diff for D156315: [RFC][GlobalISel] Overhauled MIR Patterns Support for Combiners.

Use a singular, simple OperandTable datastructure for both PatFrags & Rules.
Works a lot better and eliminated about 70 lines of code.

Aug 4 2023, 4:37 AM · Restricted Project, Restricted Project
Pierre-vh added inline comments to D146023: [AMDGPU] Remove Code Object V2.
Aug 4 2023, 12:16 AM · Restricted Project, Restricted Project, Restricted Project
Pierre-vh updated the diff for D146023: [AMDGPU] Remove Code Object V2.

Simplify ParseDirectiveHSAMetadata as it's now HSA only

Aug 4 2023, 12:16 AM · Restricted Project, Restricted Project, Restricted Project