Page MenuHomePhabricator

aditya_nandakumar (Aditya Nandakumar)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 17 2014, 4:45 PM (275 w, 2 d)

Recent Activity

Mon, Jan 6

aditya_nandakumar accepted D72266: GlobalISel: Start adding computeNumSignBits to GISelKnownBits.
Mon, Jan 6, 11:45 AM · Restricted Project

Dec 18 2019

aditya_nandakumar accepted D71583: [llvm][MIRVRegNamerUtils] Add support for hashing MachineOperand FrameIndices..
Dec 18 2019, 10:44 PM · Restricted Project

Dec 16 2019

aditya_nandakumar accepted D71558: [llvm][MIRVRegNamerUtils] Adding hashing on CImm / FPImm MachineOperands..
Dec 16 2019, 10:53 AM · Restricted Project

Dec 12 2019

aditya_nandakumar accepted D71448: [Legalizer] Making artifact combining order-independent.

Looks like a reasonable change to me - LGTM . Maybe wait a couple days for others to give feedback.

Dec 12 2019, 6:52 PM · Restricted Project
aditya_nandakumar added inline comments to D71396: [llvm][NFCi][lMIRVRegNamerUtils] Leverage hash_value for hashing a MachineInstr..
Dec 12 2019, 2:01 PM · Restricted Project
aditya_nandakumar added inline comments to D71396: [llvm][NFCi][lMIRVRegNamerUtils] Leverage hash_value for hashing a MachineInstr..
Dec 12 2019, 11:21 AM · Restricted Project
aditya_nandakumar added inline comments to D71396: [llvm][NFCi][lMIRVRegNamerUtils] Leverage hash_value for hashing a MachineInstr..
Dec 12 2019, 11:10 AM · Restricted Project

Dec 11 2019

aditya_nandakumar accepted D71328: [llvm][MIRVRegNamerUtils] Adding hashing for memoperands..
Dec 11 2019, 11:00 AM · Restricted Project

Dec 10 2019

aditya_nandakumar accepted D70479: [MIRVRegNamerUtils] Add additional hashing on MachineInstr flags..
Dec 10 2019, 12:28 PM · Restricted Project

Dec 9 2019

aditya_nandakumar added inline comments to D71182: [NFC][llvm][MIRVRegNamerUtils] Making some stylistic changes to MIRVRegNamerUtils.cpp.
Dec 9 2019, 4:01 PM · Restricted Project
aditya_nandakumar added a comment to D71182: [NFC][llvm][MIRVRegNamerUtils] Making some stylistic changes to MIRVRegNamerUtils.cpp.

I don't see how it's different for the hashing case.
On one side, you have

for (auto &Op: MI.uses())
  Ops.push_back(HashOperand(Op));

On the other side,

llvm::transform(MI.uses(), std::back_inserter(Ops),
                           [&HashOperand](const MachineOperand &MO) { return HashOperand(MO); });

I definitely don't think second case is easier to read, shorter than the first case and I really see no value in using transform here when essentially all it's doing is to just add a bunch of operands to a list.

Dec 9 2019, 12:44 PM · Restricted Project
aditya_nandakumar added a comment to D71182: [NFC][llvm][MIRVRegNamerUtils] Making some stylistic changes to MIRVRegNamerUtils.cpp.

I don't know what the convention of LLVM is here - but I prefer the simple for loop with a push back vs a use of transform (which is not really transforming anything) which is confusing.

Dec 9 2019, 12:07 PM · Restricted Project
aditya_nandakumar added inline comments to D71182: [NFC][llvm][MIRVRegNamerUtils] Making some stylistic changes to MIRVRegNamerUtils.cpp.
Dec 9 2019, 11:57 AM · Restricted Project

Dec 3 2019

aditya_nandakumar committed rG6da7dbb806dc: [GlobalISel]: Allow targets to override how to widen constants during… (authored by aditya_nandakumar).
[GlobalISel]: Allow targets to override how to widen constants during…
Dec 3 2019, 10:52 AM
aditya_nandakumar closed D70922: [GlobalISel]: Allow targets to override how to widen constants during legalization.

6da7dbb806d

Dec 3 2019, 10:51 AM · Restricted Project

Dec 2 2019

aditya_nandakumar created D70922: [GlobalISel]: Allow targets to override how to widen constants during legalization.
Dec 2 2019, 1:24 PM · Restricted Project

Nov 22 2019

aditya_nandakumar added inline comments to D70564: [GlobalISel] LegalizationArtifactCombiner: Fix a bug in tryCombineMerges.
Nov 22 2019, 2:44 PM · Restricted Project
aditya_nandakumar accepted D70616: [GlobalISel] CombinerHelper: Fix a bug in matchCombineCopy.
Nov 22 2019, 2:43 PM · Restricted Project
aditya_nandakumar added inline comments to D70616: [GlobalISel] CombinerHelper: Fix a bug in matchCombineCopy.
Nov 22 2019, 1:38 PM · Restricted Project

Nov 21 2019

aditya_nandakumar added inline comments to D70564: [GlobalISel] LegalizationArtifactCombiner: Fix a bug in tryCombineMerges.
Nov 21 2019, 1:44 PM · Restricted Project

Nov 20 2019

aditya_nandakumar added inline comments to D70479: [MIRVRegNamerUtils] Add additional hashing on MachineInstr flags..
Nov 20 2019, 8:52 AM · Restricted Project
aditya_nandakumar accepted D70478: [MIRVRegNamerUtils] Fix for BasicBlock numbering parameter..
Nov 20 2019, 12:33 AM · Restricted Project
aditya_nandakumar added inline comments to D70210: [MirNamer][Canonicalizer]: Perform instruction semantic based renaming .
Nov 20 2019, 12:21 AM · Restricted Project

Nov 16 2019

aditya_nandakumar committed rGcc6b85390170: [MIRNamer]: Make the check lines in the test robust with regex. (authored by aditya_nandakumar).
[MIRNamer]: Make the check lines in the test robust with regex.
Nov 16 2019, 11:09 PM
aditya_nandakumar added a comment to rG72768685567b: [MirNamer][Canonicalizer]: Perform instruction semantic based renaming.

Should be fixed by cc6b853901707 hopefully

Nov 16 2019, 11:09 PM
aditya_nandakumar added a comment to rG72768685567b: [MirNamer][Canonicalizer]: Perform instruction semantic based renaming.

Am looking at this now. Guessing that the opcodes are different in the bots resulting in different hashes. I'll make the tests more robust.

Nov 16 2019, 10:43 PM
aditya_nandakumar committed rG551acdbf937a: Make it possible to run MIRCanonicalizer in pipeline. (authored by aditya_nandakumar).
Make it possible to run MIRCanonicalizer in pipeline.
Nov 16 2019, 2:37 PM
aditya_nandakumar closed D70321: Make it possible to add the MIR Canonicalizer pass in a pipeline.

551acdbf93

Nov 16 2019, 2:36 PM · Restricted Project
aditya_nandakumar added a comment to D70321: Make it possible to add the MIR Canonicalizer pass in a pipeline.

I don't think there's a way to test this - this needs to be added to a pipeline.

Nov 16 2019, 11:34 AM · Restricted Project

Nov 15 2019

aditya_nandakumar created D70321: Make it possible to add the MIR Canonicalizer pass in a pipeline.
Nov 15 2019, 9:47 AM · Restricted Project
aditya_nandakumar committed rG72768685567b: [MirNamer][Canonicalizer]: Perform instruction semantic based renaming (authored by aditya_nandakumar).
[MirNamer][Canonicalizer]: Perform instruction semantic based renaming
Nov 15 2019, 8:45 AM
aditya_nandakumar closed D70210: [MirNamer][Canonicalizer]: Perform instruction semantic based renaming .

727686855

Nov 15 2019, 8:45 AM · Restricted Project

Nov 14 2019

aditya_nandakumar accepted D70291: GlobalISel: Lower s1 source G_SITOFP/G_UITOFP.
Nov 14 2019, 11:26 PM · Restricted Project
aditya_nandakumar updated the diff for D70210: [MirNamer][Canonicalizer]: Perform instruction semantic based renaming .

s/Token/Name

Nov 14 2019, 6:44 PM · Restricted Project
aditya_nandakumar updated the diff for D70210: [MirNamer][Canonicalizer]: Perform instruction semantic based renaming .

Addressed some feedback, removed some abstractions that are unused, added more comments.

Nov 14 2019, 6:35 PM · Restricted Project
aditya_nandakumar added inline comments to D70210: [MirNamer][Canonicalizer]: Perform instruction semantic based renaming .
Nov 14 2019, 6:09 PM · Restricted Project

Nov 13 2019

aditya_nandakumar updated subscribers of D70210: [MirNamer][Canonicalizer]: Perform instruction semantic based renaming .
Nov 13 2019, 2:40 PM · Restricted Project
aditya_nandakumar added a reviewer for D70210: [MirNamer][Canonicalizer]: Perform instruction semantic based renaming : volkan.
Nov 13 2019, 2:40 PM · Restricted Project
aditya_nandakumar created D70210: [MirNamer][Canonicalizer]: Perform instruction semantic based renaming .
Nov 13 2019, 2:40 PM · Restricted Project

Nov 4 2019

aditya_nandakumar accepted D69734: [globalisel] Rename G_GEP to G_PTR_ADD.

LGTM.

Nov 4 2019, 11:54 AM · Restricted Project

Oct 25 2019

aditya_nandakumar added a comment to D69367: [GlobalISel][AArch64][AMDGPU][X86] Teach LegalizationArtifactCombiner to combine trunc(g_constant)..

Looking at D56706, @aditya_nandakumar said:

The legalizer artifact combiner was originally intended only to combine away legalization artifacts - which include extends, truncates, merges, build_vectors and not for generic combines. This change looks like it should belong in CombinerHelper.

I suppose we could/should just move it to CombinerHelper?

@arsenm, was there any reason you didn't move it to CombinerHelper in D56706?

The discussion in D56706 implies that part of the argument against putting it here is that this change isn't required for correctness. However, IIRC from a dev meeting discussion with @craig.topper this is required for most targets so it feels like it could be appropriate in either place. I don't have a strong opinion here though, so I'm personally happy either way. :)

Oct 25 2019, 11:30 AM · Restricted Project

Oct 7 2019

aditya_nandakumar accepted D68582: GlobalISel: Add target pre-isel instructions.
Oct 7 2019, 10:19 AM
aditya_nandakumar added a comment to D68582: GlobalISel: Add target pre-isel instructions.

I really like the approach here. Thanks for working on this.
LGTM.

Oct 7 2019, 8:49 AM

Oct 5 2019

aditya_nandakumar accepted D68532: GlobalISel: Partially implement lower for G_EXTRACT.
Oct 5 2019, 3:31 PM

Sep 30 2019

aditya_nandakumar accepted D68243: GlobalISel: Implement widenScalar for G_SITOFP/G_UITOFP sources.
Sep 30 2019, 2:05 PM

Sep 23 2019

aditya_nandakumar committed rG72a4621cdf0b: [TableGen] Emit OperandType enums for RegisterOperands/RegisterClasses (authored by aditya_nandakumar).
[TableGen] Emit OperandType enums for RegisterOperands/RegisterClasses
Sep 23 2019, 11:52 AM
aditya_nandakumar committed rL372641: [TableGen] Emit OperandType enums for RegisterOperands/RegisterClasses.
[TableGen] Emit OperandType enums for RegisterOperands/RegisterClasses
Sep 23 2019, 11:51 AM
aditya_nandakumar closed D66773: [TableGen] Emit OperandType enums for RegisterOperands/RegisterClasses.

Committed revision 372641

Sep 23 2019, 11:51 AM · Restricted Project
aditya_nandakumar added a comment to D67133: [GlobalISel]: Fix some non determinism exposed in CSE due to not notifying observers about mutations + add verification for CSE.

Ping. Can we combine the delegate and observer installers?

Sep 23 2019, 11:42 AM · Restricted Project

Sep 11 2019

aditya_nandakumar accepted D67279: GlobalISel/AMDGPU: Legalize G_FMAD.
Sep 11 2019, 1:17 PM
aditya_nandakumar added inline comments to D67279: GlobalISel/AMDGPU: Legalize G_FMAD.
Sep 11 2019, 12:53 PM

Sep 9 2019

aditya_nandakumar accepted D67380: [globalisel][knownbits] Allow targets to call GISelKnownBits::computeKnownBitsImpl().
Sep 9 2019, 4:39 PM · Restricted Project
aditya_nandakumar committed rG5112b71126a1: [GlobalISel]: Fix a bug where we could dereference None (authored by aditya_nandakumar).
[GlobalISel]: Fix a bug where we could dereference None
Sep 9 2019, 3:53 PM
aditya_nandakumar committed rL371465: [GlobalISel]: Fix a bug where we could dereference None.
[GlobalISel]: Fix a bug where we could dereference None
Sep 9 2019, 3:50 PM

Sep 6 2019

aditya_nandakumar added a comment to D67275: GlobalISel: Add G_FMAD instruction.

Looks good. Is this something that's only produced during legalization of targets?

It's produced by optimization combines in the DAG mostly, but AMDGPU does use this in a couple custom legalizations

If this is used only by one target (AMDGPU) (and does not require further legalizations), one alternative could be making this a target pseudo.

It's already a generic node for the DAG. ARM could use it, but doesn't. In practice it's a huge pain to make this target specific, since it shares most combines with FMA.

Makes sense.

We also do have a problem now where we don't really have an equivalent of target specific nodes in GlobalISel. Intrinsics are close, but don't quite fill the purpose and would litter the IR intrinsic namespace

Sep 6 2019, 8:45 AM
aditya_nandakumar added a comment to D67275: GlobalISel: Add G_FMAD instruction.

Looks good. Is this something that's only produced during legalization of targets?

It's produced by optimization combines in the DAG mostly, but AMDGPU does use this in a couple custom legalizations

Sep 6 2019, 7:52 AM
aditya_nandakumar accepted D67275: GlobalISel: Add G_FMAD instruction.

Looks good. Is this something that's only produced during legalization of targets?

Sep 6 2019, 7:35 AM

Sep 4 2019

aditya_nandakumar added inline comments to D67133: [GlobalISel]: Fix some non determinism exposed in CSE due to not notifying observers about mutations + add verification for CSE.
Sep 4 2019, 11:53 AM · Restricted Project

Sep 3 2019

aditya_nandakumar accepted D67131: [globalisel] Support trivial COPY in GISelKnownBits.
Sep 3 2019, 3:48 PM · Restricted Project
aditya_nandakumar created D67133: [GlobalISel]: Fix some non determinism exposed in CSE due to not notifying observers about mutations + add verification for CSE.
Sep 3 2019, 3:44 PM · Restricted Project

Aug 30 2019

aditya_nandakumar committed rL370557: Request commit access for aditya_nandakumar.
Request commit access for aditya_nandakumar
Aug 30 2019, 5:24 PM

Aug 29 2019

aditya_nandakumar accepted D66956: GlobalISel: Don't compute known bits for non-integral GEP.
Aug 29 2019, 10:32 AM

Aug 28 2019

aditya_nandakumar accepted D66921: GlobalISel: Add known bits to InstructionSelector.
Aug 28 2019, 8:54 PM
aditya_nandakumar added a comment to D66921: GlobalISel: Add known bits to InstructionSelector.

Hi Matt, this looks reasonable - though when (if) we add a more complex implementation (perhaps precomputes knownbits) we might have to revisit this.
For now, it's close to zero cost. LGTM.

Aug 28 2019, 8:54 PM
aditya_nandakumar accepted D66923: GlobalISel: Add maskedValueIsZero and signBitIsZero to known bits.
Aug 28 2019, 8:51 PM

Aug 20 2019

aditya_nandakumar committed rG08bd0808720d: [GlobalISel] Handle multiple registers in dbg.value intrinsic (authored by aditya_nandakumar).
[GlobalISel] Handle multiple registers in dbg.value intrinsic
Aug 20 2019, 9:31 AM
aditya_nandakumar committed rL369403: [GlobalISel] Handle multiple registers in dbg.value intrinsic.
[GlobalISel] Handle multiple registers in dbg.value intrinsic
Aug 20 2019, 9:30 AM
aditya_nandakumar added a comment to D66077: [GlobalISel] Handle multiple registers in dbg.value intrinsic.

I do not have submit permissions, please can someone submit on my behalf?

I can submit for you.

Aug 20 2019, 9:30 AM · Restricted Project
aditya_nandakumar added a comment to D66077: [GlobalISel] Handle multiple registers in dbg.value intrinsic.

I do not have submit permissions, please can someone submit on my behalf?

Aug 20 2019, 9:00 AM · Restricted Project

Aug 15 2019

aditya_nandakumar accepted D66316: [GlobalISel] CSEMIRBuilder: Add support for G_GEP.
Aug 15 2019, 3:36 PM · Restricted Project
aditya_nandakumar added inline comments to D66287: GlobalISel: add combiner for indexed loads and stores.
Aug 15 2019, 2:37 PM · Restricted Project

Aug 13 2019

aditya_nandakumar committed rGc65ac865c394: [GlobalISel]: Fix lowering of G_Shuffle_vector where we pick up the wrong… (authored by aditya_nandakumar).
[GlobalISel]: Fix lowering of G_Shuffle_vector where we pick up the wrong…
Aug 13 2019, 6:24 PM
aditya_nandakumar committed rL368781: [GlobalISel]: Fix lowering of G_Shuffle_vector where we pick up the wrong….
[GlobalISel]: Fix lowering of G_Shuffle_vector where we pick up the wrong…
Aug 13 2019, 6:24 PM
aditya_nandakumar closed D66182: [GlobalISel]: Fix lowering of G_Shuffle_vector where we pick up the wrong source index.

Committed in 368781.
I haven't had a chance to look into the DAG's implementation yet but our out of tree bots caught this.

Aug 13 2019, 6:24 PM · Restricted Project
aditya_nandakumar created D66182: [GlobalISel]: Fix lowering of G_Shuffle_vector where we pick up the wrong source index.
Aug 13 2019, 3:47 PM · Restricted Project
aditya_nandakumar committed rG615eee6402c8: [GlobalISel]: Fix lowering of G_SHUFFLE_VECTOR with scalar sources (authored by aditya_nandakumar).
[GlobalISel]: Fix lowering of G_SHUFFLE_VECTOR with scalar sources
Aug 13 2019, 2:51 PM
aditya_nandakumar closed D66171: [GlobalISel]: Fix lowering of G_SHUFFLE_VECTOR with scalar sources.

368753.

Aug 13 2019, 2:48 PM · Restricted Project
aditya_nandakumar committed rL368753: [GlobalISel]: Fix lowering of G_SHUFFLE_VECTOR with scalar sources.
[GlobalISel]: Fix lowering of G_SHUFFLE_VECTOR with scalar sources
Aug 13 2019, 2:48 PM
aditya_nandakumar added a comment to D66171: [GlobalISel]: Fix lowering of G_SHUFFLE_VECTOR with scalar sources.

LGTM, although I rather dislike that we allow these. Maybe the IRTranslator should be trying to turn these into the equivalent G_BUILD_VECTOR?

Thanks for the quick review.
I agree that this is messy. Turning it into BUILD_VECTOR seems to be like an optimization for now - but I don't really have a better solution. It's probably worth creating a patch and seeing what others think about it.

Aug 13 2019, 2:43 PM · Restricted Project
aditya_nandakumar created D66171: [GlobalISel]: Fix lowering of G_SHUFFLE_VECTOR with scalar sources.
Aug 13 2019, 2:29 PM · Restricted Project
aditya_nandakumar accepted D65971: [GISel] Pass MachineRegisterInfo by const reference to matcher..
Aug 13 2019, 1:42 PM · Restricted Project
aditya_nandakumar added a comment to D66109: GlobalISel: Change representation of shuffle masks.

Thanks for doing this. Overall the patch LGTM. On a side note, should we try to document all the links we have to IR in GlobalISel somewhere?

Not sure where that would go

Aug 13 2019, 7:42 AM

Aug 12 2019

aditya_nandakumar committed rG70fdfed45f04: [GlobalISel]: Add KnownBits for G_XOR (authored by aditya_nandakumar).
[GlobalISel]: Add KnownBits for G_XOR
Aug 12 2019, 9:34 PM
aditya_nandakumar committed rL368648: [GlobalISel]: Add KnownBits for G_XOR.
[GlobalISel]: Add KnownBits for G_XOR
Aug 12 2019, 9:32 PM
aditya_nandakumar closed D66119: [GlobalISel]: Add KnownBits for G_XOR.

368648

Aug 12 2019, 9:32 PM · Restricted Project
aditya_nandakumar accepted D66118: GlobalISel: Add more verifier checks for G_SHUFFLE_VECTOR.
Aug 12 2019, 4:36 PM
aditya_nandakumar added inline comments to D66111: GlobalISel: Implement lower for G_SHUFFLE_VECTOR.
Aug 12 2019, 4:32 PM
aditya_nandakumar created D66119: [GlobalISel]: Add KnownBits for G_XOR.
Aug 12 2019, 4:25 PM · Restricted Project
aditya_nandakumar accepted D66111: GlobalISel: Implement lower for G_SHUFFLE_VECTOR.

LGTM - conditional to the parent patch.

Aug 12 2019, 4:02 PM
aditya_nandakumar added a comment to D66109: GlobalISel: Change representation of shuffle masks.

Thanks for doing this. Overall the patch LGTM. On a side note, should we try to document all the links we have to IR in GlobalISel somewhere?

Aug 12 2019, 3:51 PM
aditya_nandakumar committed rG55371e697cd4: [GISel]: Fix a bug in KnownBits where we should have been using SizeInBits (authored by aditya_nandakumar).
[GISel]: Fix a bug in KnownBits where we should have been using SizeInBits
Aug 12 2019, 2:28 PM
aditya_nandakumar committed rL368618: [GISel]: Fix a bug in KnownBits where we should have been using SizeInBits.
[GISel]: Fix a bug in KnownBits where we should have been using SizeInBits
Aug 12 2019, 2:28 PM
aditya_nandakumar closed D66039: [GlobalISel]: Fix a bug in KnownBits where we should have been using SizeInBits.

368618.

Aug 12 2019, 2:27 PM · Restricted Project

Aug 9 2019

aditya_nandakumar created D66039: [GlobalISel]: Fix a bug in KnownBits where we should have been using SizeInBits.
Aug 9 2019, 4:25 PM · Restricted Project

Aug 7 2019

aditya_nandakumar committed rG277583ec0ab2: [GISel][NFC]: Make members of CombinerHelper accessible in derived classes (authored by aditya_nandakumar).
[GISel][NFC]: Make members of CombinerHelper accessible in derived classes
Aug 7 2019, 7:27 PM
aditya_nandakumar committed rL368248: [GISel][NFC]: Make members of CombinerHelper accessible in derived classes.
[GISel][NFC]: Make members of CombinerHelper accessible in derived classes
Aug 7 2019, 7:24 PM
aditya_nandakumar closed D65842: [GISel][NFC]: Make members of CombinerHelper accessible in derived classes.

Thanks. r368248

Aug 7 2019, 7:24 PM · Restricted Project

Aug 6 2019

aditya_nandakumar created D65842: [GISel][NFC]: Make members of CombinerHelper accessible in derived classes.
Aug 6 2019, 6:36 PM · Restricted Project
aditya_nandakumar committed rG6bbfde5c48aa: [GISel]: Fix trivial build breakage (authored by aditya_nandakumar).
[GISel]: Fix trivial build breakage
Aug 6 2019, 10:56 AM
aditya_nandakumar committed rL368067: [GISel]: Fix trivial build breakage.
[GISel]: Fix trivial build breakage
Aug 6 2019, 10:56 AM