Page MenuHomePhabricator

qcolombet (Quentin Colombet)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Tue, Nov 30

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

LGTM, nits below

Tue, Nov 30, 10:29 AM · Restricted Project

Mon, Nov 29

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

Tue, Nov 16

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

Hi Mircea,

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

Mon, Nov 15

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?

Mon, Nov 15, 11:56 AM · Restricted Project
qcolombet accepted D113929: [NFC][Regalloc] Factor types that would be used by the eviction advisor.
Mon, Nov 15, 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

May 3 2021

qcolombet added a comment to D101525: RegAlloc: do not consider liveins to EH-pad successors as liveout..

I was musing some more and it occurred that some values can come from this block

May 3 2021, 11:48 AM · Restricted Project

Apr 29 2021

qcolombet accepted D101500: [MachineFunction] Make comment for TracksLiveness more clearer.

LGTM

Apr 29 2021, 10:59 AM · Restricted Project
qcolombet accepted D101525: RegAlloc: do not consider liveins to EH-pad successors as liveout..

LGTM

Apr 29 2021, 10:55 AM · Restricted Project

Apr 27 2021

qcolombet added a comment to D100748: [Greedy RA] Do not split interval on tied-def.

Could you add dedicated test case?

Apr 27 2021, 2:58 PM · Restricted Project
qcolombet accepted D100750: [Greedy RA] Take into account Last Split Point for enterIntvAtEnd.

LGTM

Apr 27 2021, 2:54 PM · Restricted Project
qcolombet accepted D100708: GlobalISel: Relax verification of physical register copy types.

LGTM.

Apr 27 2021, 2:50 PM · Restricted Project
qcolombet accepted D100927: [InlineSpiller] Handle the case when def is after LIP.

Thanks for fixing this.

Apr 27 2021, 9:58 AM · Restricted Project

Mar 31 2021

qcolombet added inline comments to D98378: [LSR] RFC: Fix crash in Phi node with EHPad block.
Mar 31 2021, 10:02 AM · Restricted Project
qcolombet added a comment to D98232: [regalloc] Ensure Query::collectInterferringVregs is called before interval iteration.

@aditya_nandakumar @qcolombet any idea when a better fix for that issue might be available?

Mar 31 2021, 9:53 AM · Restricted Project

Mar 23 2021

qcolombet added a comment to D98378: [LSR] RFC: Fix crash in Phi node with EHPad block.

@qcolombet Have a look at the associated bug at https://bugs.llvm.org/show_bug.cgi?id=48708, there's a minimized IR reproducer in there.

Mar 23 2021, 2:17 PM · Restricted Project

Mar 22 2021

qcolombet added a comment to D98378: [LSR] RFC: Fix crash in Phi node with EHPad block.

Could you add a test case exposing the problem?

Mar 22 2021, 1:31 PM · Restricted Project

Mar 16 2021

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

I agree with @mtrofin's assessment, the previous code was incorrect and if we have a compile time hit, at least short term, I think this is the right thing to do.

Mar 16 2021, 2:32 PM · Restricted Project

Mar 10 2021

qcolombet committed rG49942c6d4a0a: [NFC] Fix a compiler warning (authored by qcolombet).
[NFC] Fix a compiler warning
Mar 10 2021, 1:30 PM
qcolombet closed D98297: [NFC] Fix a compiler warning.
Mar 10 2021, 1:30 PM · Restricted Project
qcolombet added inline comments to D98232: [regalloc] Ensure Query::collectInterferringVregs is called before interval iteration.
Mar 10 2021, 11:54 AM · Restricted Project
qcolombet added inline comments to D98232: [regalloc] Ensure Query::collectInterferringVregs is called before interval iteration.
Mar 10 2021, 11:14 AM · Restricted Project
qcolombet accepted D98100: [mir] Change 'undef' for MMO base addresses to 'unknown-address'.

Thanks for the follow-up patch!

Mar 10 2021, 11:07 AM · Restricted Project
qcolombet committed rG66dab2fa8470: [NFC] Fix compiler warnings (authored by qcolombet).
[NFC] Fix compiler warnings
Mar 10 2021, 11:04 AM
qcolombet closed D98298: [NFC] Fix compiler warnings.
Mar 10 2021, 11:03 AM · Restricted Project
qcolombet updated subscribers of D98232: [regalloc] Ensure Query::collectInterferringVregs is called before interval iteration.
Mar 10 2021, 11:03 AM · Restricted Project
qcolombet accepted D98232: [regalloc] Ensure Query::collectInterferringVregs is called before interval iteration.

Nice catch!

Mar 10 2021, 10:59 AM · Restricted Project
qcolombet accepted D98297: [NFC] Fix a compiler warning.
Mar 10 2021, 10:44 AM · Restricted Project

Mar 5 2021

qcolombet added a comment to D97891: Add register size info back to MCRegisterClass.

For targets that make use of HW modes, register sizes are specific to a subtarget.

Mar 5 2021, 7:07 PM · Restricted Project

Mar 4 2021

qcolombet accepted D97812: [mir] Fix confusing MIR when MMO's value is nullptr but offset is non-zero.

Hi Daniel,

Mar 4 2021, 9:38 AM · Restricted Project

Feb 26 2021

qcolombet accepted D97571: [AArch64] Fix emitting an AdrpAddLdr LOH when there's a potential clobber of the def of the adrp before the ldr..
Feb 26 2021, 2:43 PM · Restricted Project

Feb 25 2021

qcolombet added a comment to D96015: [RegAllocFast] Handle case where operand of copy cannot be assigned..

I think this is actually a problem GlobalISel does have since it doesn't have the DAG scheduler/linearizer to minimize physical register live ranges. We need an MI equivalent pass to do this

Feb 25 2021, 10:10 AM · Restricted Project

Feb 18 2021

qcolombet added a comment to D96015: [RegAllocFast] Handle case where operand of copy cannot be assigned..

It sounds like we need to have the fast-RA be able to defer to the more sophisticated allocators in certain cases.

Feb 18 2021, 7:28 PM · Restricted Project

Feb 10 2021

qcolombet added a comment to D96015: [RegAllocFast] Handle case where operand of copy cannot be assigned..

To elaborate on the answer:

why is it any more job of the scheduler to keep the live ranges small for the sake of the allocator?

Feb 10 2021, 6:11 PM · Restricted Project
qcolombet added a comment to D96015: [RegAllocFast] Handle case where operand of copy cannot be assigned..

I'm not an expert in this area, but why is it any more job of the scheduler to keep the live ranges small for the sake of the allocator? Shouldn't the allocator be able to deal with any valid input (within computational reason)?

Feb 10 2021, 5:46 PM · Restricted Project

Feb 8 2021

qcolombet accepted D95257: [RGT][GlobalISel] Add missing setUp() calls to legalizer unittests.

Looks good, thanks fixing the test!

Feb 8 2021, 3:04 PM · Restricted Project
qcolombet added a comment to D96015: [RegAllocFast] Handle case where operand of copy cannot be assigned..

the list scheduler has register pressure tracking disabled I think.

Feb 8 2021, 2:53 PM · Restricted Project
qcolombet added a comment to D96015: [RegAllocFast] Handle case where operand of copy cannot be assigned..

How was this test working before?

Feb 8 2021, 2:52 PM · Restricted Project

Feb 4 2021

qcolombet added a comment to D96015: [RegAllocFast] Handle case where operand of copy cannot be assigned..

Is it something we could fix in the scheduler instead?

Feb 4 2021, 2:24 PM · Restricted Project

Feb 3 2021

qcolombet added inline comments to D93394: CodeGen: Move function to get subregister indexes to cover a LaneMask.
Feb 3 2021, 11:21 AM · Restricted Project
qcolombet accepted D55287: VirtRegMap: Support partially allocated virtual registers.
Feb 3 2021, 10:27 AM · Restricted Project
qcolombet accepted D93064: RegisterCoalescer: Prune undef subranges from copy pairs in loops.

LGTM with nit on the function name.

Feb 3 2021, 10:16 AM · Restricted Project
qcolombet accepted D93144: RegisterCoalescer: Fix not setting undef on coalesced subregister uses.
Feb 3 2021, 10:13 AM · Restricted Project

Jan 28 2021

qcolombet accepted D86836: Support a list of CostPerUse values.

LGTM, just make sure to move getRegisterCostTableIndex under protected.

Jan 28 2021, 11:14 AM · Restricted Project
qcolombet accepted D94914: RegAlloc: Fix assert if all registers in class reserved.
Jan 28 2021, 10:21 AM · Restricted Project

Jan 26 2021

qcolombet requested changes to D86836: Support a list of CostPerUse values.
Jan 26 2021, 12:22 PM · Restricted Project

Jan 21 2021

qcolombet added a comment to D86836: Support a list of CostPerUse values.

I'll try to take a look by end of next week.

Jan 21 2021, 8:17 PM · Restricted Project

Jan 11 2021

qcolombet committed rG905623b64df0: [NFC][LICM] Minor improvements to debug output (authored by qcolombet).
[NFC][LICM] Minor improvements to debug output
Jan 11 2021, 6:03 PM
qcolombet closed D93577: [NFC][LICM] Minor improvements to debug output.
Jan 11 2021, 6:03 PM · Restricted Project

Jan 7 2021

qcolombet added inline comments to D55333: VirtRegMap: Preserve LiveDebugVariables.
Jan 7 2021, 9:53 AM · Restricted Project
qcolombet added inline comments to D55333: VirtRegMap: Preserve LiveDebugVariables.
Jan 7 2021, 9:50 AM · Restricted Project
qcolombet accepted D93739: CodeGen: Refactor regallocator command line and target selection.
Jan 7 2021, 9:43 AM · Restricted Project

Dec 18 2020

qcolombet accepted D90369: [FastRA] Fix handling of bundled MIs.
Dec 18 2020, 5:05 PM · Restricted Project

Dec 15 2020

qcolombet accepted D92665: RegisterCoalescer: Remove phi-only subranges when erasing identity copies.
Dec 15 2020, 2:01 PM · Restricted Project

Dec 3 2020

qcolombet added inline comments to D91066: [SlotIndexes] Consider existing index range in insertMBBIntoMaps.
Dec 3 2020, 10:03 AM · Restricted Project

Nov 6 2020

qcolombet committed rGa585228027a0: Prevent LICM and machineLICM from hoisting convergent operations (authored by qcolombet).
Prevent LICM and machineLICM from hoisting convergent operations
Nov 6 2020, 10:27 AM
qcolombet closed D90361: Prevent LICM and machineLICM from hoisting convergent operations.
Nov 6 2020, 10:27 AM · Restricted Project

Nov 4 2020

qcolombet accepted D89930: [X86] Enable shrink-wrapping for frameless non-nounwind functions on platforms not using compact unwind.
Nov 4 2020, 9:55 AM · Restricted Project
qcolombet added inline comments to D90369: [FastRA] Fix handling of bundled MIs.
Nov 4 2020, 9:50 AM · Restricted Project
qcolombet accepted D90637: [ValueTracking] Inbounds does not imply nsw.
Nov 4 2020, 9:47 AM · Restricted Project
qcolombet accepted D88126: [Machinesink] add more profitable pattern if target bb register pressure is not too high.
Nov 4 2020, 9:46 AM · Restricted Project

Oct 30 2020

qcolombet added a comment to D90361: Prevent LICM and machineLICM from hoisting convergent operations.

This is allowed by the current definition. See D85603

Oct 30 2020, 8:54 AM · Restricted Project

Oct 27 2020

qcolombet accepted D86864: [MachineSinking] sink more profitable loads.

I guess the compiling time increase on these benchmarks should be acceptable?

Oct 27 2020, 9:15 AM · Restricted Project
qcolombet accepted D90154: RegAlloc: Clear isSSA.
Oct 27 2020, 9:10 AM · Restricted Project