Page MenuHomePhabricator

qcolombet (Quentin Colombet)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 17 2012, 10:03 AM (497 w, 2 d)

Recent Activity

Yesterday

qcolombet added a comment to D128539: [GISel] Don't fold convergent instruction across CFG.

I looked and don't see anything for this. We fold all of these in separate MI passes

Wed, Jun 29, 9:49 AM · Restricted Project, Restricted Project

Tue, Jun 28

qcolombet accepted D128583: CodeGen: Remove AliasAnalysis from regalloc.

I always found it very unfortunate that we keep IR references around in MIR to do alias analysis queries. This appears to remove a lot of those users (all but the ones in the schedule graph construction?), so I highly welcome the change!

Tue, Jun 28, 10:48 AM · Restricted Project, Restricted Project
qcolombet added a comment to D128539: [GISel] Don't fold convergent instruction across CFG.

I'm not sure what context this gets called in. Maybe it's possible to hit this for DPP instructions?

Tue, Jun 28, 10:45 AM · Restricted Project, Restricted Project

Fri, Jun 24

qcolombet added a comment to D128539: [GISel] Don't fold convergent instruction across CFG.

Do you know if AMDGPU has any convergent instruction involved in pattern with folding?
I could use that to create a test case.

Fri, Jun 24, 9:56 AM · Restricted Project, Restricted Project
qcolombet requested review of D128539: [GISel] Don't fold convergent instruction across CFG.
Fri, Jun 24, 9:55 AM · Restricted Project, Restricted Project

Fri, Jun 10

qcolombet accepted D127281: [Greedy RegAlloc] Fix the handling of split register in last chance re-coloring..
Fri, Jun 10, 9:48 AM · Restricted Project, Restricted Project
qcolombet added inline comments to D127281: [Greedy RegAlloc] Fix the handling of split register in last chance re-coloring..
Fri, Jun 10, 9:47 AM · Restricted Project, Restricted Project

Wed, Jun 1

qcolombet committed rG1a155ee7de3b: [RegisterClassInfo] Invalidate cached information if… (authored by qcolombet).
[RegisterClassInfo] Invalidate cached information if…
Wed, Jun 1, 5:16 PM · Restricted Project, Restricted Project
qcolombet closed D126565: [RegisterClassInfo] Invalidate cached information if ignoreCSRForAllocationOrder changes.
Wed, Jun 1, 5:16 PM · Restricted Project, Restricted Project
qcolombet accepted D126565: [RegisterClassInfo] Invalidate cached information if ignoreCSRForAllocationOrder changes.

Nice catch!

Wed, Jun 1, 3:20 PM · Restricted Project, Restricted Project
qcolombet added a comment to D124699: [DeadArgElim] Set unused arguments for internal functions.

But that's not a problem of this patch, and we will address that later if needed.

Wed, Jun 1, 2:42 PM · Restricted Project, Restricted Project, Restricted Project

May 12 2022

qcolombet committed rG9766fed9c10e: [DeadArgElim] Re-apply: Set unused arguments for internal functions (authored by qcolombet).
[DeadArgElim] Re-apply: Set unused arguments for internal functions
May 12 2022, 8:56 AM · Restricted Project, Restricted Project, Restricted Project
qcolombet closed D124699: [DeadArgElim] Set unused arguments for internal functions.
May 12 2022, 8:56 AM · Restricted Project, Restricted Project, Restricted Project

May 11 2022

qcolombet added a comment to D124699: [DeadArgElim] Set unused arguments for internal functions.

@fhahn are you okay with the clang tests update as well?

May 11 2022, 1:42 PM · Restricted Project, Restricted Project, Restricted Project

May 6 2022

qcolombet accepted D125102: [RegAllocGreedy] New hook regClassPriorityTrumpsGlobalness.

Hi Jay,

May 6 2022, 10:26 AM · Restricted Project, Restricted Project

May 2 2022

qcolombet updated subscribers of D124699: [DeadArgElim] Set unused arguments for internal functions.

Thanks for the heads-up and the revert.

May 2 2022, 7:13 PM · Restricted Project, Restricted Project, Restricted Project
qcolombet updated the diff for D124699: [DeadArgElim] Set unused arguments for internal functions.
  • includes fixes to clang tests that were missed in the original commit.
May 2 2022, 7:10 PM · Restricted Project, Restricted Project, Restricted Project
qcolombet added a comment to D124699: [DeadArgElim] Set unused arguments for internal functions.

Alright, at first I thought it was a latent bug in the dead argument elimination pass and now I think the two failing tests just need updating.
I'll upload a diff with the fix tests. (See below for the diff of the tests themselves.)

May 2 2022, 7:03 PM · Restricted Project, Restricted Project, Restricted Project
qcolombet added a comment to D124699: [DeadArgElim] Set unused arguments for internal functions.

Ah thanks for the heads-up, looking at the clang issue.

May 2 2022, 5:02 PM · Restricted Project, Restricted Project, Restricted Project
qcolombet added a comment to D124308: [MachineScheduler] exclude INLINEASM from schedule when it would increase register pressure.

I see what you are trying to solve, but at the same time, in theory any instruction could have this kind of register pressure problems. (Though, we probably don't ever create too many not spillable live-ranges around regular instructions and regular instructions have a reasonable number of operands.)

May 2 2022, 2:00 PM · Restricted Project, Restricted Project
qcolombet committed rGe547a333a433: [DeadArgElim] Set unused arguments for internal functions (authored by qcolombet).
[DeadArgElim] Set unused arguments for internal functions
May 2 2022, 11:17 AM · Restricted Project, Restricted Project
qcolombet closed D124699: [DeadArgElim] Set unused arguments for internal functions.
May 2 2022, 11:16 AM · Restricted Project, Restricted Project, Restricted Project

Apr 29 2022

qcolombet requested review of D124699: [DeadArgElim] Set unused arguments for internal functions.
Apr 29 2022, 2:06 PM · Restricted Project, Restricted Project, Restricted Project

Apr 18 2022

qcolombet accepted D123936: llvm-reduce: Simplify virtual register cloning.
Apr 18 2022, 10:49 AM · Restricted Project, Restricted Project

Apr 13 2022

qcolombet accepted D123740: llvm-reduce: Copy register allocation hints to clone.

Nice catch!

Apr 13 2022, 3:16 PM · Restricted Project, Restricted Project
qcolombet added a comment to D122616: RegAlloc: Fix verifier error after failed allocation.

The verifier doesn't like that at all since it doesn't have an associated class. Plus every target would have to handle encoding it as something in the end

Apr 13 2022, 11:28 AM · Restricted Project, Restricted Project
qcolombet accepted D122579: RegAlloc: Fix remaining virtual registers after allocation failure.
Apr 13 2022, 11:24 AM · Restricted Project, Restricted Project
qcolombet accepted D122581: RegAllocGreedy: Remove redundant check for virtual registers.
Apr 13 2022, 11:23 AM · Restricted Project, Restricted Project
qcolombet added a comment to D122616: RegAlloc: Fix verifier error after failed allocation.

The patch itself looks good but I wonder if we could maybe take a simpler road:
Could we assign register zero (noreg) to this failed vreg?

Apr 13 2022, 11:21 AM · Restricted Project, Restricted Project

Apr 7 2022

qcolombet accepted D123270: RegAllocGreedy: Allow last chance recolor to retry overlapping tuples.
Apr 7 2022, 9:24 AM · Restricted Project, Restricted Project

Apr 1 2022

qcolombet added a reviewer for D122118: [MachineCopyPropagation][WIP] Eliminate spillage copies that might caused by eviction chain: aditya_nandakumar.

At first glance it looks similar to what @aditya_nandakumar implemented internally to get rid of copies produced by eviction chains.

Apr 1 2022, 11:03 AM · Restricted Project, Restricted Project
qcolombet accepted D122733: MachineVerifier: Diagnose undef set on full register defs.
Apr 1 2022, 11:01 AM · Restricted Project, Restricted Project
qcolombet accepted D122697: RegAllocGreedy: Fix illegal eviction assert for urgent evictions.
Apr 1 2022, 11:00 AM · Restricted Project, Restricted Project

Mar 29 2022

qcolombet accepted D122580: RegAllocGreedy: Roll back successful recolorings on failure.

Thanks @arsenm for tracking this down and the fix!

Mar 29 2022, 12:11 PM · Restricted Project, Restricted Project

Mar 25 2022

qcolombet added a comment to D119973: RegAllocGreedy: Fix last chance recolor assert in impossible case.

Hmm, that's weird, if one register fails within the same level, we should roll back the whole level to its previous state.

Mar 25 2022, 5:52 PM · Restricted Project, Restricted Project
qcolombet added a comment to D119973: RegAllocGreedy: Fix last chance recolor assert in impossible case.

I now have another attempt which tracks a stack of successful recolorings that are rolled back on failure

Mar 25 2022, 5:49 PM · Restricted Project, Restricted Project
qcolombet added a comment to D119973: RegAllocGreedy: Fix last chance recolor assert in impossible case.

I'm wondering if a better strategy would be to try avoiding recolor candidates that could conflict with the saved recoloring state for fixed registers

Mar 25 2022, 2:59 PM · Restricted Project, Restricted Project

Mar 18 2022

qcolombet added a comment to D98230: [LSR] Add reconciliation of unfoldable offsets.

Hi Jonas,

Mar 18 2022, 7:40 AM · Restricted Project, Restricted Project
qcolombet added a comment to D119973: RegAllocGreedy: Fix last chance recolor assert in impossible case.

The complicated cases are indeed not well tested since it is very hard to hit them. I was hoping Matt's fix would avoid falling in one of them, while not preventing actual success. Looks like it wasn't the case.

Mar 18 2022, 7:16 AM · Restricted Project, Restricted Project

Feb 21 2022

qcolombet added a comment to D119973: RegAllocGreedy: Fix last chance recolor assert in impossible case.

I haven't looked into it yet, but we see cases of "ran out of registers during register allocation" with this patch, for code that compiled succesfully before.

Feb 21 2022, 10:49 AM · Restricted Project, Restricted Project

Feb 16 2022

qcolombet accepted D119973: RegAllocGreedy: Fix last chance recolor assert in impossible case.

The fix looks good to me.

Feb 16 2022, 1:58 PM · Restricted Project, Restricted Project

Feb 15 2022

qcolombet accepted D119053: [nfc][codegen] Move RegisterBank[Info].cpp under CodeGen.
Feb 15 2022, 11:11 AM · Restricted Project

Jan 18 2022

qcolombet accepted D117515: PostRAPseudos: Don't preserve kills on some implicit copy operands.
Jan 18 2022, 10:07 AM · Restricted Project

Jan 14 2022

qcolombet committed rGa8ca4046e22d: [LSR] Fix crash in Phi node with EHPad block (authored by qcolombet).
[LSR] Fix crash in Phi node with EHPad block
Jan 14 2022, 6:54 PM
qcolombet closed D98378: [LSR] Fix crash in Phi node with EHPad block.
Jan 14 2022, 6:53 PM · Restricted Project

Jan 13 2022

qcolombet accepted D115399: RegScavenger: Add function to externally reserve a scavenging index.
Jan 13 2022, 10:10 AM · Restricted Project
qcolombet accepted D98378: [LSR] Fix crash in Phi node with EHPad block.
Jan 13 2022, 10:09 AM · Restricted Project

Jan 10 2022

qcolombet accepted D115400: RegScavenger: Remove used regs from scavenge candidates.
Jan 10 2022, 4:23 PM · Restricted Project
qcolombet accepted D116669: [NFC][regalloc] Pass RAGreedy to eviction adviser.
Jan 10 2022, 11:28 AM · Restricted Project

Jan 5 2022

qcolombet committed rGcdbad62c526c: [ADCE][NFC] Batch DT updates together (authored by qcolombet).
[ADCE][NFC] Batch DT updates together
Jan 5 2022, 2:10 PM
qcolombet closed D116610: [ADCE][NFC] Batch DT updates together.
Jan 5 2022, 2:09 PM · Restricted Project
qcolombet added inline comments to D116610: [ADCE][NFC] Batch DT updates together.
Jan 5 2022, 1:42 PM · Restricted Project
qcolombet updated the diff for D116610: [ADCE][NFC] Batch DT updates together.
  • Set the default smallvector size to 10
Jan 5 2022, 1:41 PM · Restricted Project

Jan 4 2022

qcolombet added inline comments to D116610: [ADCE][NFC] Batch DT updates together.
Jan 4 2022, 6:30 PM · Restricted Project
qcolombet added inline comments to D116610: [ADCE][NFC] Batch DT updates together.
Jan 4 2022, 3:11 PM · Restricted Project
qcolombet added inline comments to D116610: [ADCE][NFC] Batch DT updates together.
Jan 4 2022, 2:38 PM · Restricted Project
qcolombet requested review of D116610: [ADCE][NFC] Batch DT updates together.
Jan 4 2022, 11:22 AM · Restricted Project

Dec 23 2021

qcolombet accepted D116114: [NFC][regalloc] Introduce RegAllocGreedy.h.
Dec 23 2021, 10:27 AM · Restricted Project

Nov 30 2021

qcolombet accepted D114759: [NFC][regalloc] Factor accesses to ExtraRegInfo.

LGTM, nits below

Nov 30 2021, 10:29 AM · Restricted Project

Nov 29 2021

qcolombet accepted D114019: [NFC][Regalloc] Split canEvictInterference into hint and general.
Nov 29 2021, 11:52 AM · Restricted Project

Nov 16 2021

qcolombet added a comment to D98232: [regalloc] Ensure Query::collectInterferringVregs is called before interval iteration.

Hi Mircea,

Nov 16 2021, 9:54 AM · Restricted Project, Restricted Project
qcolombet accepted D113941: [NFC][Regalloc] Factor out eviction decision from eviction attempt.
Nov 16 2021, 9:45 AM · Restricted Project

Nov 15 2021

qcolombet added a comment to D98232: [regalloc] Ensure Query::collectInterferringVregs is called before interval iteration.

should we go ahead and revert (most of*) https://reviews.llvm.org/D35816?

Nov 15 2021, 11:56 AM · Restricted Project, Restricted Project
qcolombet accepted D113929: [NFC][Regalloc] Factor types that would be used by the eviction advisor.
Nov 15 2021, 11:52 AM · Restricted Project

Nov 2 2021

qcolombet added a comment to D113030: Add a new tool for parallel safe bisection, "llvm-bisectd"..

I'm also guessing that you'd want to avoid using string keys for the function-attribute implementation?

Nov 2 2021, 2:54 PM · Restricted Project
qcolombet added a comment to D113030: Add a new tool for parallel safe bisection, "llvm-bisectd"..

Let me just step back a little bit and say that now that I think about what we did, having something that answers "should I run in this instance" is desirable, the implementation doesn't really matter. We did it with function attributes, but having a bisect client API like you're introducing is fine.
My only complain is that the client interface should not have remote in the name :P.

Nov 2 2021, 11:59 AM · Restricted Project
qcolombet accepted D112882: [NFC][Regalloc] Ensure Query::interferingVRegs is accurate..
Nov 2 2021, 10:59 AM · Restricted Project
qcolombet added a comment to D113030: Add a new tool for parallel safe bisection, "llvm-bisectd"..

Hi Amara,

Nov 2 2021, 10:55 AM · Restricted Project
qcolombet added a comment to D113031: [GlobalISel] Add a bisection point after instruction selection..

Hi Amara,

Nov 2 2021, 10:41 AM · Restricted Project

Oct 27 2021

qcolombet accepted D111506: [GlobalISel][Tablegen] Fix SameOperandMatcher's isIdentical check.
Oct 27 2021, 10:17 AM · Restricted Project

Oct 26 2021

qcolombet accepted D110560: [LiveInterval] Add RemoveDeadValNo argument to removeSegment(iterator).
Oct 26 2021, 1:44 PM · Restricted Project

Oct 1 2021

qcolombet added a comment to D110829: [X86] Special-case ADD of two identical registers in convertToThreeAddress.

I don't know if it's safe to rely on the kill flag being on the first operand that uses a particular reg. If not I'll rework the patch.

This seems accidental. I think ideally we would enforce consistency of the flag within an instruction. Short of that we better not assume anything like just the first operand having a kill flag...

Oct 1 2021, 1:49 PM · Restricted Project

Sep 27 2021

qcolombet accepted D110526: [LiveIntervals] Repair subreg ranges in processTiedPairs.
Sep 27 2021, 4:52 PM · Restricted Project
qcolombet accepted D110335: [LiveIntervals] Improve repair after convertToThreeAddress.

Makes sense, thanks!

Sep 27 2021, 4:43 PM · Restricted Project

Sep 24 2021

qcolombet added a comment to D110335: [LiveIntervals] Improve repair after convertToThreeAddress.

This mostly seems to benefit X86

Sep 24 2021, 10:52 AM · Restricted Project

Sep 17 2021

qcolombet accepted D108772: [LSR] Make sure that Factor fits into Base type.

One last comment, otherwise LGTM.

Sep 17 2021, 9:21 AM · Restricted Project

Sep 16 2021

qcolombet added inline comments to D108772: [LSR] Make sure that Factor fits into Base type.
Sep 16 2021, 5:13 PM · Restricted Project

Sep 14 2021

qcolombet accepted D108578: RegAllocGreedy: Account for reserved registers in num regs heuristic.
Sep 14 2021, 1:28 PM · Restricted Project

Aug 31 2021

qcolombet accepted D108951: [RegAlloc] Immediately delete dead instructions with live uses.
Aug 31 2021, 1:42 PM · Restricted Project
qcolombet accepted D108869: SplitKit: Remove decade old live interval hack.

LGTM

Aug 31 2021, 1:30 PM · Restricted Project

Aug 12 2021

qcolombet added a comment to D107829: SplitKit: Don't further split subrange mask in buildCopy.

Looks good to me as well.

Aug 12 2021, 1:45 PM · Restricted Project

Jul 28 2021

qcolombet added a comment to D105723: [LSR] Do not hoist IV if it is not post increment case. PR43678.

Given that, can you approve Philip's patch?

Jul 28 2021, 11:08 AM · Restricted Project
qcolombet accepted D106178: [SCEVExpander] Stop hoisting IR when reusing phis.

Following the conversation in https://reviews.llvm.org/D105723#2894209, approving this patch.

Jul 28 2021, 11:07 AM · Restricted Project

Jul 21 2021

qcolombet added a comment to D105723: [LSR] Do not hoist IV if it is not post increment case. PR43678.

Hi all,

Jul 21 2021, 12:11 PM · Restricted Project
qcolombet accepted D105684: [RegisterCoalescer] Make resolveConflicts aware of earlyclobber.

LGTM

Jul 21 2021, 9:58 AM · Restricted Project

Jul 13 2021

qcolombet added a comment to D101538: [GlobalISel][IRTranslator] Make translate() methods virtual..

I've tried approaches with target pseudo intrinsics and extra IR passes, but still everything depends on missing the external (relatively to the IRTranslator) way to obtain the info about Value->Vreg mapping.

Jul 13 2021, 10:54 AM · Restricted Project
qcolombet added a comment to D105723: [LSR] Do not hoist IV if it is not post increment case. PR43678.

I am not sure I understand the issue here.
Could you paste the IR with the wrong transformation (before this patch) for one of the test (e.g., the smaller one)?

Jul 13 2021, 10:26 AM · Restricted Project

Jul 7 2021

qcolombet requested changes to D105019: [RegisterCoalescer] Avoid coalescing erased Copy.
Jul 7 2021, 11:50 AM · Restricted Project

Jun 29 2021

qcolombet added a comment to D105065: RegAlloc: Fix "SubRange for this mask not found" unreachable in SplitKit.

I'm suspicious of how simple this patch is, and not sure why this special phi handling is needed given that refineSubRanges was already called

Jun 29 2021, 12:24 PM · Restricted Project
qcolombet accepted D104509: [RegisterCoalescer] Resolve conflict based on liveness of subregister.

Looks fine to me but please wait on the comment from Jay (@foad ) and Matt (@arsenm ) before pushing.
Nitpick below.

Jun 29 2021, 11:03 AM · Restricted Project

Jun 17 2021

qcolombet added inline comments to D104355: [GlobalISel] Add a new artifact combiner for unmerge which looks through general artifact expressions..
Jun 17 2021, 9:46 AM · Restricted Project

Jun 16 2021

qcolombet added a comment to D104355: [GlobalISel] Add a new artifact combiner for unmerge which looks through general artifact expressions..

Hi Amara,

Jun 16 2021, 10:27 AM · Restricted Project

Jun 8 2021

qcolombet accepted D103928: [IR] make -warn-frame-size into a module attr.

Hi Nick,

Jun 8 2021, 3:24 PM · Restricted Project, Restricted Project

Jun 4 2021

qcolombet added a comment to D101819: [M68k][GloballSel] Adding initial GlobalISel infrastructure.

By removing the reportTranslationError() temporarily in order to test my implementation, that would cause errors in other targets. Can you please suggest me any other way to solve this issue?

Jun 4 2021, 12:05 PM · Restricted Project

Jun 3 2021

qcolombet accepted D103602: [regalloc] Don't align stack slots if the stack can't be realigned.

LGTM

Jun 3 2021, 9:25 AM · Restricted Project

May 25 2021

qcolombet added a comment to D101819: [M68k][GloballSel] Adding initial GlobalISel infrastructure.

LLVM ERROR: unable to translate in big endian mode (in function: f)

May 25 2021, 4:49 PM · Restricted Project

May 24 2021

qcolombet added a comment to D101819: [M68k][GloballSel] Adding initial GlobalISel infrastructure.

Add GlobalISel infrastructure up to the point where we can select a ret void.

May 24 2021, 5:38 PM · Restricted Project
qcolombet accepted D55333: VirtRegMap: Preserve LiveDebugVariables.
May 24 2021, 5:32 PM · Restricted Project

May 19 2021

qcolombet added a comment to D101538: [GlobalISel][IRTranslator] Make translate() methods virtual..

I wouldn't be so sure about that. One particular usecase I need this for is a bitcast between pointer types:

%1 = bitcast i8* %0 to %struct.ST*
In our target they're both of p0 LLTs, so the default method eliminates this instruction while in our target it's necessary to keep it.

May 19 2021, 2:52 PM · Restricted Project

May 12 2021

qcolombet accepted D55301: RegAlloc: Allow targets to split register allocation.

LGTM.
Disclaimer: I didn't really look at the AMDGPU changes.

May 12 2021, 1:44 PM · Restricted Project