Page MenuHomePhabricator

qcolombet (Quentin Colombet)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 17 2012, 10:03 AM (444 w, 8 h)

Recent Activity

Thu, Jun 17

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

Wed, Jun 16

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

Hi Amara,

Wed, Jun 16, 10:27 AM · Restricted Project

Tue, Jun 8

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

Hi Nick,

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

Fri, Jun 4

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?

Fri, Jun 4, 12:05 PM · Restricted Project

Thu, Jun 3

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

LGTM

Thu, Jun 3, 9:25 AM · Restricted Project

Tue, May 25

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

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

Tue, May 25, 4:49 PM · Restricted Project

Mon, May 24

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.

Mon, May 24, 5:38 PM · Restricted Project
qcolombet accepted D55333: VirtRegMap: Preserve LiveDebugVariables.
Mon, May 24, 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

Oct 26 2020

qcolombet committed rG78a7941e5cff: [TargetRegisterInfo] Fix a couple of typos in the comments (authored by qcolombet).
[TargetRegisterInfo] Fix a couple of typos in the comments
Oct 26 2020, 3:20 PM

Oct 21 2020

qcolombet committed rGee6abef5323d: [ValueTracking] Interpret GEPs as a series of adds multiplied by the related… (authored by qcolombet).
[ValueTracking] Interpret GEPs as a series of adds multiplied by the related…
Oct 21 2020, 3:07 PM
qcolombet closed D86364: [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor.
Oct 21 2020, 3:07 PM · Restricted Project
qcolombet added a comment to D86364: [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor.

Thanks all for your help and @nikic in particular for doing the perf measurements and pushing for a better solution.
I think this shows that reviews work and produce better code quality!

Oct 21 2020, 12:18 PM · Restricted Project
qcolombet updated the diff for D86364: [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor.
  • Use Known directly instead of using an intermediate AddrKnownBits variable
  • Change AccCstIndices into AccConstIndices
  • Move initialization code of IndexBits next to first use
  • Regenerate test case using update_test_check
Oct 21 2020, 12:13 PM · Restricted Project

Oct 20 2020

qcolombet added a comment to D86364: [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor.

Oups, tagged Eli's old account.
Tagging the new one @efriedma

Oct 20 2020, 3:53 PM · Restricted Project
qcolombet updated subscribers of D86364: [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor.

Did 1 & 2 of @eli.friedman's suggestions.

Oct 20 2020, 3:50 PM · Restricted Project
qcolombet updated the diff for D86364: [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor.
  • Skip zero indices
  • Accumulate constant indices with constant scaling factor in a separate variable to avoid calls to computeForAddSub
Oct 20 2020, 3:42 PM · Restricted Project
qcolombet added a comment to D86364: [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor.

Thanks @efriedma for the suggestions!

Oct 20 2020, 2:27 PM · Restricted Project
qcolombet added a comment to D86364: [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor.

If we remove that from the equation, I expect the compile-time impact of this patch would be pretty minimal. I started some work on this, but I'm not sure when I'll be able to finish it.

Oct 20 2020, 2:25 PM · Restricted Project
qcolombet added a comment to D86864: [MachineSinking] sink more profitable loads.

Looks reasonable but I'd like to have an idea of the compile time impact of this patch.

Oct 20 2020, 9:45 AM · Restricted Project

Oct 19 2020

qcolombet added a comment to D86364: [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor.

Following the conversation in D87342 , this patch has been rebased and all the previous feedbacks have been addressed.

Oct 19 2020, 5:11 PM · Restricted Project
qcolombet updated the diff for D86364: [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor.

Get rid of TrailZ and track everything with AddrKnownBits.

Oct 19 2020, 5:08 PM · Restricted Project

Oct 16 2020

qcolombet updated the diff for D86364: [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor.

Rebase patch
Add the reviewers from D87342

Oct 16 2020, 11:49 AM · Restricted Project

Oct 9 2020

qcolombet requested changes to D86836: Support a list of CostPerUse values.

The general direction is fine, but IMHO there are needless code churn.
Why can't we stick to getCostPerUse instead of changing all the users?

Oct 9 2020, 12:34 PM · Restricted Project
qcolombet accepted D89151: [X86] Don't copy kill flag when expanding LCMPXCHG16B_SAVE_RBX.

Nice catch!

Oct 9 2020, 11:13 AM · Restricted Project

Oct 8 2020

qcolombet committed rGfd8275e04a97: [GlobalISel] Add missing pass dependencies for IRTranslator (authored by qcolombet).
[GlobalISel] Add missing pass dependencies for IRTranslator
Oct 8 2020, 1:58 PM
qcolombet closed D89063: [GlobalISel] Add missing pass dependencies for IRTranslator.
Oct 8 2020, 1:58 PM · Restricted Project
qcolombet added a comment to D89063: [GlobalISel] Add missing pass dependencies for IRTranslator.

Thanks for the quick review @aemerson!

Oct 8 2020, 1:53 PM · Restricted Project
qcolombet requested review of D89063: [GlobalISel] Add missing pass dependencies for IRTranslator.
Oct 8 2020, 12:12 PM · Restricted Project
qcolombet committed rGd421e0484afd: [KnownBits] Add a sextOrTrunc method (authored by qcolombet).
[KnownBits] Add a sextOrTrunc method
Oct 8 2020, 11:35 AM
qcolombet committed rG9431f8ad2e03: [KnownBits] Add a computeForMul method (authored by qcolombet).
[KnownBits] Add a computeForMul method
Oct 8 2020, 11:35 AM
qcolombet committed rGf1f31eb2daab: [unittests] Add a few tests for computeKnownBits with ranges (authored by qcolombet).
[unittests] Add a few tests for computeKnownBits with ranges
Oct 8 2020, 11:35 AM
qcolombet closed D88937: [KnownBits] Add a sextOrTrunc method.
Oct 8 2020, 11:35 AM · Restricted Project
qcolombet closed D88935: [KnownBits] Add a computeForMul method.
Oct 8 2020, 11:35 AM · Restricted Project
qcolombet closed D88934: [unittests] Add a few tests for computeKnownBits with ranges.
Oct 8 2020, 11:35 AM · Restricted Project

Oct 7 2020

qcolombet added a comment to D88937: [KnownBits] Add a sextOrTrunc method.

Could use a test, but it generally makes sense to have such a method.

Oct 7 2020, 3:02 PM · Restricted Project
qcolombet updated the diff for D88937: [KnownBits] Add a sextOrTrunc method.
  • Add a test for the new method
Oct 7 2020, 3:00 PM · Restricted Project
qcolombet added a comment to D88935: [KnownBits] Add a computeForMul method.

Thanks guys for the quick review!

Oct 7 2020, 3:00 PM · Restricted Project
qcolombet updated the diff for D88935: [KnownBits] Add a computeForMul method.
  • Move method earlier in the header
  • Fix comment in test
Oct 7 2020, 2:59 PM · Restricted Project
qcolombet updated the diff for D88934: [unittests] Add a few tests for computeKnownBits with ranges.
  • Add getMinValue/getMaxValue
Oct 7 2020, 2:58 PM · Restricted Project

Oct 6 2020

qcolombet abandoned D87342: Allow targets to augment computeKnownBits with their analysis using TargetTransformInfo.

Abandoning this diff in favor of D86364 based on our discussion.

Oct 6 2020, 4:35 PM · Restricted Project