Page MenuHomePhabricator

hiraditya (Aditya Kumar)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 5 2014, 4:23 PM (472 w, 3 d)

Recent Activity

Thu, Mar 23

hiraditya added a comment to D146565: [clang] Remove mips target triple for Android.

llvm/test/CodeGen/Mips/ removed here: https://reviews.llvm.org/rG805f51f9fedf90d2aa0ad46c61cb4c9c0c5bcfe9

Thu, Mar 23, 3:11 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya updated the summary of D68192: Fix PR40710: Outlined Function has token parameter but isn't an intrinsic.
Thu, Mar 23, 2:02 PM · Restricted Project, Restricted Project

Wed, Mar 22

hiraditya added a comment to D146463: [CodeGen][RISCV] Change Shadow Call Stack Register to S11.

https://lists.riscv.org/g/sig-toolchains/message/548 has a proposal where X27 is one of the registers.

Wed, Mar 22, 2:30 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
hiraditya added a comment to D146565: [clang] Remove mips target triple for Android.

LG! llvm/test/CodeGen/Mips/ tests are unrelated to the driver change and the part should be committed separately.

Wed, Mar 22, 2:25 PM · Restricted Project, Restricted Project, Restricted Project

Tue, Mar 21

hiraditya updated the diff for D146565: [clang] Remove mips target triple for Android.

Removed several testcases related to 'mips.*-linux-android'

Tue, Mar 21, 4:19 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya updated the diff for D146565: [clang] Remove mips target triple for Android.

Removed testcases.

Tue, Mar 21, 2:54 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya requested review of D146565: [clang] Remove mips target triple for Android.
Tue, Mar 21, 2:32 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya added inline comments to D146560: [PATCH] [PATCH] Enable targeting riscv64-linux-android.
Tue, Mar 21, 2:27 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya requested review of D146560: [PATCH] [PATCH] Enable targeting riscv64-linux-android.
Tue, Mar 21, 1:18 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya added inline comments to D146463: [CodeGen][RISCV] Change Shadow Call Stack Register to S11.
Tue, Mar 21, 11:06 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Mon, Mar 20

hiraditya accepted D146463: [CodeGen][RISCV] Change Shadow Call Stack Register to S11.

Thanks for putting the patch.

Mon, Mar 20, 5:45 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
hiraditya added a comment to D123515: [RISCV] Support '.option arch' directive.

ping @StephenFan

Mon, Mar 20, 11:22 AM · Restricted Project, Restricted Project
hiraditya accepted D143708: [RISCV] Support emulated TLS.
Mon, Mar 20, 11:17 AM · Restricted Project, Restricted Project

Fri, Mar 17

hiraditya added a comment to D134129: [PATCH] [RISCV] Enable -msave-restore by default when optimizing for size.

Platforms like Android reserve a register x18(for AArch64). There was a patch for RISC-V that also reserved x18 for shadow callstack. https://reviews.llvm.org/D14599, https://reviews.llvm.org/D143355

Fri, Mar 17, 12:42 PM · Restricted Project, Restricted Project
hiraditya added inline comments to D145223: [InstCombine] Combine binary operator of two phi node.
Fri, Mar 17, 7:53 AM · Restricted Project, Restricted Project

Thu, Mar 16

hiraditya added a comment to D145223: [InstCombine] Combine binary operator of two phi node.
Thu, Mar 16, 4:23 PM · Restricted Project, Restricted Project

Tue, Mar 14

hiraditya updated the diff for D145999: [RISCV] Reserve X18 by default for Android.

Folded D145979 here

Tue, Mar 14, 11:27 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya added inline comments to D145999: [RISCV] Reserve X18 by default for Android.
Tue, Mar 14, 11:22 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya abandoned D145979: [RISC-V] Add test case for -fsanitize=shadow-call-stack.

I'll fold this to D145999.

Tue, Mar 14, 9:58 PM · Restricted Project

Mon, Mar 13

hiraditya updated the diff for D145979: [RISC-V] Add test case for -fsanitize=shadow-call-stack.

Moved the testcase as suggested by @samitolvanen

Mon, Mar 13, 4:13 PM · Restricted Project
hiraditya added a reviewer for D145999: [RISCV] Reserve X18 by default for Android: samitolvanen.
Mon, Mar 13, 4:07 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya added a reviewer for D145999: [RISCV] Reserve X18 by default for Android: simoncook.
Mon, Mar 13, 4:06 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya requested review of D145999: [RISCV] Reserve X18 by default for Android.
Mon, Mar 13, 4:03 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya added a reviewer for D145979: [RISC-V] Add test case for -fsanitize=shadow-call-stack: asb.
Mon, Mar 13, 12:35 PM · Restricted Project
hiraditya requested review of D145979: [RISC-V] Add test case for -fsanitize=shadow-call-stack.
Mon, Mar 13, 12:34 PM · Restricted Project
hiraditya added a comment to D139254: Enhance stack protector.

Are there possible optimizations which can be implemented to reduce the code-size impact of this change? I'm wondering if this patch adds the checks conservatively to all instances where stack check could potentially, but not necessarily, be missed/useful?

Mon, Mar 13, 12:22 PM · Restricted Project, Restricted Project
hiraditya added a comment to D123515: [RISCV] Support '.option arch' directive.

This patch is needed for zbb support as per: https://lore.kernel.org/all/20230117122447.y6tdsmsxqdwf76ri@orel/

Mon, Mar 13, 7:47 AM · Restricted Project, Restricted Project

Tue, Mar 7

hiraditya added inline comments to D144927: [GVNHoist] don't hoist callbr users into the callbr's block.
Tue, Mar 7, 10:52 AM · Restricted Project, Restricted Project
hiraditya added a comment to D144927: [GVNHoist] don't hoist callbr users into the callbr's block.

If you're going to enable hoisting past a callbr, please add a testcase to ensure we don't hoist a load past a callbr which modifies the memory in question.

Will do. Curiously, GVNHoist::safeToHoistLdSt returns false even for cases of loads not modified by callbr, so HoistGVN doesn't optimize those cases. FWICT, the call to GVNHoist::firstInBB is checking the callbr against itself. It looks like MemorySSA is perhaps claiming that for this input:

@x = global i32 0
@y = global i32 0
define i32 @foo4(i1 %z) {
entry:
  callbr void asm "", "=*m,!i"(ptr elementtype(i32) @x)
          to label %a [label %b]

a:                                                ; preds = %entry
  %0 = load i32, ptr @y, align 4
  ret i32 %0

b:                                                ; preds = %entry
  %1 = load i32, ptr @y, align 4
  ret i32 %1
}

that callbr is a "defining access" for the access of @y (IIUC)? That seems incorrect...but I'm unfamiliar with MemorySSA.

Tue, Mar 7, 10:51 AM · Restricted Project, Restricted Project
hiraditya added inline comments to D144927: [GVNHoist] don't hoist callbr users into the callbr's block.
Tue, Mar 7, 10:39 AM · Restricted Project, Restricted Project

Mon, Feb 27

hiraditya added a comment to D88460: Strlen loop idiom recognition.

Can this patch also convert this one to strlen? gcc is able to recognize this idiom: https://godbolt.org/z/7ra1ErqKK

Mon, Feb 27, 12:15 PM · Restricted Project, Restricted Project
hiraditya added a reviewer for D137397: [Sanitizer] [Scudo] Add riscv64 support for scudo: hiraditya.
Mon, Feb 27, 12:06 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya added a comment to D137397: [Sanitizer] [Scudo] Add riscv64 support for scudo.

@joshua-arch1 i can land this on your behalf if you think this is good to go.

Mon, Feb 27, 12:06 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya added a reviewer for D134129: [PATCH] [RISCV] Enable -msave-restore by default when optimizing for size: craig.topper.
Mon, Feb 27, 12:01 PM · Restricted Project, Restricted Project
hiraditya added a comment to D134129: [PATCH] [RISCV] Enable -msave-restore by default when optimizing for size.

Can we land this patch. I think this is quite useful at -Oz

Mon, Feb 27, 12:00 PM · Restricted Project, Restricted Project
hiraditya added a comment to D143708: [RISCV] Support emulated TLS.

LGTM, i'll let the code owners make the final call. Thanks for working on this.

Mon, Feb 27, 11:51 AM · Restricted Project, Restricted Project

Feb 10 2023

hiraditya added a comment to D143619: [llvm][codegen] Disallow default Emulated TLS for RISCV.

this patch is still better than the status quo where it sounds like we're generating incorrect code and might be reasonable stop-gap.

Feb 10 2023, 9:20 AM · Restricted Project, Restricted Project

Feb 9 2023

hiraditya accepted D143692: [clang][driver] Emit error when enabling emulated tls on unsupported architectures.

LGTM, thanks for putting this patch.

Feb 9 2023, 5:46 PM · Restricted Project, Restricted Project
hiraditya updated subscribers of D143619: [llvm][codegen] Disallow default Emulated TLS for RISCV.

Also cc: @craig.topper

Feb 9 2023, 1:04 PM · Restricted Project, Restricted Project
hiraditya added a comment to D143619: [llvm][codegen] Disallow default Emulated TLS for RISCV.

Thanks for doing this. LGTM, defer to code owners for approval.

Feb 9 2023, 1:03 PM · Restricted Project, Restricted Project

Feb 7 2023

hiraditya updated the diff for D131230: [RISCV] Allow mismatched SmallDataLimit and use Min for conflicting values.

Updated the failing testcase.

Feb 7 2023, 2:01 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya updated the summary of D131230: [RISCV] Allow mismatched SmallDataLimit and use Min for conflicting values.
Feb 7 2023, 2:00 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya commandeered D131230: [RISCV] Allow mismatched SmallDataLimit and use Min for conflicting values.
Feb 7 2023, 1:59 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya reopened D131230: [RISCV] Allow mismatched SmallDataLimit and use Min for conflicting values.

reopening to update the failing testcase.

Feb 7 2023, 1:58 PM · Restricted Project, Restricted Project, Restricted Project

Feb 6 2023

hiraditya added a comment to D131230: [RISCV] Allow mismatched SmallDataLimit and use Min for conflicting values.

thanks for reverting it. i'll take care of the test failure.

Feb 6 2023, 9:12 PM · Restricted Project, Restricted Project, Restricted Project

Feb 1 2023

hiraditya added a comment to D131230: [RISCV] Allow mismatched SmallDataLimit and use Min for conflicting values.

@joshua-arch1 can you share your email such that I can commit this with proper author info? Feel free to ping me directly on discord: Aditya Kumar#9439

Feb 1 2023, 12:23 PM · Restricted Project, Restricted Project, Restricted Project
hiraditya committed rG11a2b44ad412: add arcanist patch to fix arc diff (authored by hiraditya).
add arcanist patch to fix arc diff
Feb 1 2023, 12:15 PM · Restricted Project, Restricted Project
hiraditya closed D131699: add arcanist patch.
Feb 1 2023, 12:14 PM · Restricted Project, Restricted Project

Jan 29 2023

Herald added a reviewer for D32530: [SVE][IR] Scalable Vector IR Type: efriedma.

Link to llvm presentation for reference: https://llvm.org/devmtg/2019-04/slides/TechTalk-Kruppe-Espasa-RISC-V_Vectors_and_LLVM.pdf

Jan 29 2023, 10:18 AM · Restricted Project, Restricted Project

Jan 27 2023

hiraditya added a comment to D131230: [RISCV] Allow mismatched SmallDataLimit and use Min for conflicting values.

cc: @jrtc27 anything you still want addressed?

Jan 27 2023, 11:20 AM · Restricted Project, Restricted Project, Restricted Project
hiraditya added a comment to D131230: [RISCV] Allow mismatched SmallDataLimit and use Min for conflicting values.

Is it okay to merge this patch?

Jan 27 2023, 11:18 AM · Restricted Project, Restricted Project, Restricted Project

Jan 23 2023

hiraditya added a comment to D131699: add arcanist patch.

if this patch helps make progress for some folks, i think it is reasonable to merge this one as well. @nickdesaulniers do you have any objections to merging this patch?

Jan 23 2023, 5:22 PM · Restricted Project, Restricted Project

Jan 9 2023

hiraditya added inline comments to D138826: [libc++][chrono] Fixes formatter duration..
Jan 9 2023, 1:08 PM · Restricted Project, Restricted Project

Nov 26 2022

hiraditya added inline comments to D136512: [AA] Allow for flow-sensitive analyses..
Nov 26 2022, 6:40 PM · Restricted Project, Restricted Project

Sep 22 2022

Herald added a project to D109958: [LoopFlatten] Enable it by default: Restricted Project.

Any interest in landing it?

Sep 22 2022, 9:47 PM · Restricted Project, Restricted Project
hiraditya added a reviewer for D134490: [NFC] check for UnreachableInst first as it is cheaper compared to getTerminatingDeoptimizeCall: aeubanks.
Sep 22 2022, 3:35 PM · Restricted Project, Restricted Project
hiraditya requested review of D134490: [NFC] check for UnreachableInst first as it is cheaper compared to getTerminatingDeoptimizeCall.
Sep 22 2022, 3:34 PM · Restricted Project, Restricted Project

Sep 8 2022

hiraditya accepted D130481: [RISCV] Add the GlobalMerge pass (disabled by default).

LGTM

Sep 8 2022, 6:39 PM · Restricted Project, Restricted Project
hiraditya added a comment to D130481: [RISCV] Add the GlobalMerge pass (disabled by default).

is it okay to merge this patch or are there pending dependencies?

Sep 8 2022, 6:07 PM · Restricted Project, Restricted Project

Sep 3 2022

hiraditya added a comment to D131699: add arcanist patch.

ping: do we plan to merge this patch?

Sep 3 2022, 7:32 AM · Restricted Project, Restricted Project

Aug 26 2022

hiraditya added a comment to D131699: add arcanist patch.

More changes were needed to make it work on my machine. I've added them in a separate diff: https://reviews.llvm.org/D132523

Aug 26 2022, 5:24 PM · Restricted Project, Restricted Project
hiraditya accepted D131699: add arcanist patch.

LGTM

Aug 26 2022, 5:23 PM · Restricted Project, Restricted Project
hiraditya added a comment to D132523: Fixes to make arcanist compatible with php8.1 on Linux.

Does the description in phab need updating? It suggests multiple invocations of patch?

Aug 26 2022, 5:22 PM · Restricted Project, Restricted Project
hiraditya added inline comments to D132443: [LSR] Fold terminating condition to other IV when possible.
Aug 26 2022, 9:52 AM · Restricted Project, Restricted Project

Aug 24 2022

hiraditya added a comment to D132542: [InstCombine] Use dyn_cast instead of cast in visitPHINode.

My understanding is that a basic block with a PHI node should have first instruction as PHI

Aug 24 2022, 2:26 PM · Restricted Project, Restricted Project

Aug 23 2022

hiraditya updated the diff for D132523: Fixes to make arcanist compatible with php8.1 on Linux.

Make it git compatible.

Aug 23 2022, 8:18 PM · Restricted Project, Restricted Project
hiraditya updated the summary of D132523: Fixes to make arcanist compatible with php8.1 on Linux.
Aug 23 2022, 8:04 PM · Restricted Project, Restricted Project
hiraditya updated the summary of D132523: Fixes to make arcanist compatible with php8.1 on Linux.
Aug 23 2022, 7:59 PM · Restricted Project, Restricted Project
hiraditya updated the summary of D132523: Fixes to make arcanist compatible with php8.1 on Linux.
Aug 23 2022, 7:58 PM · Restricted Project, Restricted Project
hiraditya added reviewers for D132523: Fixes to make arcanist compatible with php8.1 on Linux: stellaraccident, fhahn.
Aug 23 2022, 7:58 PM · Restricted Project, Restricted Project
hiraditya updated the summary of D132523: Fixes to make arcanist compatible with php8.1 on Linux.
Aug 23 2022, 7:58 PM · Restricted Project, Restricted Project
hiraditya updated the diff for D132523: Fixes to make arcanist compatible with php8.1 on Linux.

Added all the changes

Aug 23 2022, 7:57 PM · Restricted Project, Restricted Project
hiraditya updated the diff for D132523: Fixes to make arcanist compatible with php8.1 on Linux.

Adding more fixes.

Aug 23 2022, 7:36 PM · Restricted Project, Restricted Project
hiraditya requested review of D132523: Fixes to make arcanist compatible with php8.1 on Linux.
Aug 23 2022, 7:32 PM · Restricted Project, Restricted Project
hiraditya added a comment to D131142: [InstCombine] Canonicalize "and, add", "or, add", "xor, add".

nit: please edit the summary with

// (X + C2) | C
// (X + C2) ^ C
// (X + C2) & C
Aug 23 2022, 10:23 AM · Restricted Project, Restricted Project
hiraditya updated subscribers of D132322: [AArch64][SelectionDAG] Optimize multiplication by constant.

I agree with @eli.friedman that decomposing multiply into two separate instructions may not be profitable.
Even when latency of multiply is high, having two instructions in the pipeline adds complexity (dependencies, re-ordering, retiring etc).

Aug 23 2022, 7:45 AM · Restricted Project, Restricted Project
hiraditya added a comment to D132208: [LoopIntWrapPredication] Loop Integer Wrapping Predication Pass.

Is there another induction variable optimization pass that this can be merged with?

Aug 23 2022, 7:36 AM · Restricted Project, Restricted Project
hiraditya added inline comments to D132208: [LoopIntWrapPredication] Loop Integer Wrapping Predication Pass.
Aug 23 2022, 7:33 AM · Restricted Project, Restricted Project
hiraditya committed rG0af3ab02fd83: [NFC] LoopAccess: Move expressions close to usage (authored by hiraditya).
[NFC] LoopAccess: Move expressions close to usage
Aug 23 2022, 7:09 AM · Restricted Project, Restricted Project
hiraditya closed D132337: [NFC] LoopAccess: Move expressions close to usage.
Aug 23 2022, 7:09 AM · Restricted Project, Restricted Project
hiraditya added a comment to D131699: add arcanist patch.

with arc diff

Aug 23 2022, 6:35 AM · Restricted Project, Restricted Project
hiraditya added a comment to D131699: add arcanist patch.

Not working either. Do I have to reboot the machine/restart a service ?
Machine type:

lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.1 LTS
Release:	22.04
Codename:	jammy
Aug 23 2022, 6:34 AM · Restricted Project, Restricted Project

Aug 22 2022

hiraditya added a comment to D132208: [LoopIntWrapPredication] Loop Integer Wrapping Predication Pass.

neat! it'll be great if for loop bounds that don't overflow and can be inferred at compile time, the first version just get DCE'd.

Aug 22 2022, 6:29 PM · Restricted Project, Restricted Project
hiraditya added a comment to D130481: [RISCV] Add the GlobalMerge pass (disabled by default).

Thanks for enabling this!

Aug 22 2022, 6:16 PM · Restricted Project, Restricted Project
hiraditya added inline comments to D132322: [AArch64][SelectionDAG] Optimize multiplication by constant.
Aug 22 2022, 6:14 PM · Restricted Project, Restricted Project
hiraditya added inline comments to D132322: [AArch64][SelectionDAG] Optimize multiplication by constant.
Aug 22 2022, 5:08 PM · Restricted Project, Restricted Project
hiraditya added inline comments to D132412: [InstCombine] ease use constraint in tryFactorization().
Aug 22 2022, 5:04 PM · Restricted Project, Restricted Project
hiraditya updated the summary of D132337: [NFC] LoopAccess: Move expressions close to usage.
Aug 22 2022, 11:51 AM · Restricted Project, Restricted Project
hiraditya added a reviewer for D132337: [NFC] LoopAccess: Move expressions close to usage: fhahn.
Aug 22 2022, 11:51 AM · Restricted Project, Restricted Project
Herald added a project to D88460: Strlen loop idiom recognition: Restricted Project.

Please make sure at the very least that it doesn't get matched if a function named strlen and also test for that.

Aug 22 2022, 7:57 AM · Restricted Project, Restricted Project

Aug 21 2022

hiraditya requested review of D132337: [NFC] LoopAccess: Move expressions close to usage.
Aug 21 2022, 5:37 PM · Restricted Project, Restricted Project

Aug 10 2022

hiraditya added a comment to D130466: [LICM] - Add option to force thread model single.

I have compiled below testcase with options -

../install-aarch64/bin/clang -mthread-model single thread.cpp -S -Ofast
clang-15: error: invalid thread model 'single' in '-mthread-model single' for this target

-------thread.cpp----------

int u, v, restrict, i;

void f(int a[restrict], int b[restrict], int n) {
    for (i = 0; i < n; ++i) {
        if (a[i]) {
            ++u;
            break;
        }
        ++u;
        if (b[i])
            ++v;
    }
}

Also, I tried with SPARC -

../install-sparc/bin/clang -mthread-model single thread.cpp -S -Ofast
clang-15: error: invalid thread model 'single' in '-mthread-model single' for this target

while for thread model posix, above commands works fine.

Aug 10 2022, 11:29 AM · Restricted Project, Restricted Project

Aug 5 2022

hiraditya added inline comments to D130466: [LICM] - Add option to force thread model single.
Aug 5 2022, 7:57 AM · Restricted Project, Restricted Project

Aug 1 2022

hiraditya added a comment to D130862: [LegalizeTypes] Improve splitting for urem/udiv by constant for some constants..

a / 5, and a%10 etc.

Aug 1 2022, 11:01 AM · Restricted Project, Restricted Project
hiraditya added a comment to D125805: [LoopInterchange] Support multi-level reduction loops.

Looks pretty interesting. I'm curious if there is a popular workload/benchmark that would improve with this patch?

Aug 1 2022, 10:56 AM · Restricted Project, Restricted Project

Jul 28 2022

hiraditya added inline comments to D130560: [RISCV] Handle register spill in branch relaxation.
Jul 28 2022, 8:52 PM · Restricted Project, Restricted Project
hiraditya resigned from D83262: [llvm-symbolizer] Add options to disable printing source files & inlining.
Jul 28 2022, 8:31 PM · Restricted Project, Restricted Project
hiraditya added a comment to D126644: [llvm/CodeGen] Add ExpandLargeDivRem pass.

We usually provide a runtime library for specialized functionalities like this. Are such division operations common enough to benefit from compiler generated code?

Jul 28 2022, 8:27 PM · Restricted Project, Restricted Project
Herald added a project to D32720: [LICM] Introduce a finer granularity option to compute early exits.: Restricted Project.

FYI, all the tests in this patch are already handled with the current licm. Do we still need this patch?

Jul 28 2022, 8:11 PM · Restricted Project
hiraditya resigned from D110475: [LLVM][IR] Resolve Verifier FIXME: remove if (V->isArtificial()) check.
Jul 28 2022, 5:56 PM · Restricted Project, Restricted Project