Page MenuHomePhabricator
Feed Advanced Search

Mon, Mar 20

mnadeem added inline comments to D146333: [Flang] Exit gracefully with a useful message when we fail to lookup a target.
Mon, Mar 20, 12:20 PM · Restricted Project, Restricted Project
mnadeem committed rGf67b481098cc: [Flang] Exit gracefully with a useful message when we fail to lookup a target (authored by mnadeem).
[Flang] Exit gracefully with a useful message when we fail to lookup a target
Mon, Mar 20, 12:09 PM · Restricted Project, Restricted Project
mnadeem closed D146333: [Flang] Exit gracefully with a useful message when we fail to lookup a target.
Mon, Mar 20, 12:09 PM · Restricted Project, Restricted Project

Sat, Mar 18

mnadeem set the repository for D146333: [Flang] Exit gracefully with a useful message when we fail to lookup a target to rG LLVM Github Monorepo.
Sat, Mar 18, 2:00 PM · Restricted Project, Restricted Project
mnadeem retitled D146333: [Flang] Exit gracefully with a useful message when we fail to lookup a target from [Flang] Replace assertion with fatal error while setting up target machine to [Flang] Exit gracefully with a useful message when we fail to lookup a target.
Sat, Mar 18, 1:58 PM · Restricted Project, Restricted Project
mnadeem updated the diff for D146333: [Flang] Exit gracefully with a useful message when we fail to lookup a target.
  • Use diagnostics
  • Add a test
Sat, Mar 18, 1:50 PM · Restricted Project, Restricted Project
mnadeem added a comment to D146333: [Flang] Exit gracefully with a useful message when we fail to lookup a target.

We already have an error message, so print it as well.

I'm not sure I follow - can you elaborate? This patch is switching from an assertion to a diagnostic. The error message inside the assert will be printed regardless of whether a diagnostic is used or not.

Sat, Mar 18, 1:49 PM · Restricted Project, Restricted Project

Fri, Mar 17

mnadeem added inline comments to D146333: [Flang] Exit gracefully with a useful message when we fail to lookup a target.
Fri, Mar 17, 2:46 PM · Restricted Project, Restricted Project
mnadeem requested review of D146333: [Flang] Exit gracefully with a useful message when we fail to lookup a target.
Fri, Mar 17, 2:44 PM · Restricted Project, Restricted Project

Thu, Mar 16

mnadeem added inline comments to D143129: [GVN] Restrict equality propagation for pointers.
Thu, Mar 16, 8:49 PM · Restricted Project, Restricted Project
mnadeem updated the diff for D143129: [GVN] Restrict equality propagation for pointers.
  • Guard addToLeaderTable with the pointer replacement check.
Thu, Mar 16, 8:38 PM · Restricted Project, Restricted Project

Sun, Mar 12

mnadeem added inline comments to D145883: [Flang][RISCV] Emit target features for RISC-V.
Sun, Mar 12, 1:20 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem added a comment to D145883: [Flang][RISCV] Emit target features for RISC-V.

There is an existing test flang/test/Driver/target-cpu-features.f90 added in D137995

Sun, Mar 12, 1:19 PM · Restricted Project, Restricted Project, Restricted Project

Fri, Mar 10

mnadeem added a comment to D142420: [Flang] Add support to use LTO specific pipelines.

We have tried full LTO on Aarch64 (without this patch) and have seen a few 3-8% improvements in SPEC and a 100+% improvement in leslie3d.
There were a couple of additional failures in SPEC that we have yet to inspect but AFAICT no issue with respect to bitcode/assembly changes.

Hi @mnadeem, thanks for this patch. I'm having some trouble reproducing the improvement on leslie3d. Can you share more information about your configuration? Which flags did you use?

Fri, Mar 10, 9:47 AM · Restricted Project, Restricted Project, Restricted Project
mnadeem planned changes to D143129: [GVN] Restrict equality propagation for pointers.
Fri, Mar 10, 9:21 AM · Restricted Project, Restricted Project

Thu, Mar 9

mnadeem committed rG0fdfb65e2624: [Flang] Add support to use LTO specific pipelines (authored by mnadeem).
[Flang] Add support to use LTO specific pipelines
Thu, Mar 9, 1:28 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem closed D142420: [Flang] Add support to use LTO specific pipelines.
Thu, Mar 9, 1:28 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem added a comment to D142420: [Flang] Add support to use LTO specific pipelines.

Thanks awarzynski, I have been a bit busy but I will try to land this today after making the test changes.
In the future I'll try to communicate any planning beforehand, using discourse, to make reviewing easier. (I'm still a relatively new contributor to LLVM so still learning :) )

Thu, Mar 9, 12:51 PM · Restricted Project, Restricted Project, Restricted Project

Thu, Mar 2

mnadeem added a reviewer for D142640: [Polly] Remove -polly-vectorizer=polly.: efriedma.
Thu, Mar 2, 1:40 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem added a comment to D142420: [Flang] Add support to use LTO specific pipelines.

[nit]

After this patch:

Do you mean "after this patch lands, I will work on this things ..." , or "after this patch lands, the following becomes available"? You could disambiguate by replacing with "With this patch:", wdyt?

Thu, Mar 2, 10:44 AM · Restricted Project, Restricted Project, Restricted Project
mnadeem updated the summary of D142420: [Flang] Add support to use LTO specific pipelines.
Thu, Mar 2, 10:19 AM · Restricted Project, Restricted Project, Restricted Project

Tue, Feb 28

mnadeem added inline comments to D142420: [Flang] Add support to use LTO specific pipelines.
Tue, Feb 28, 10:30 AM · Restricted Project, Restricted Project, Restricted Project
mnadeem updated the diff for D142420: [Flang] Add support to use LTO specific pipelines.

update comments in the test and add newline at the end

Tue, Feb 28, 10:25 AM · Restricted Project, Restricted Project, Restricted Project

Mon, Feb 27

mnadeem changed the visibility for D144938: [NFC][GVN] Precommit tests for D143129.
Mon, Feb 27, 8:04 PM · Restricted Project, Restricted Project
mnadeem updated the diff for D143129: [GVN] Restrict equality propagation for pointers.

Fix the check for PHI nodes and add some reduced tests relevant to the case.

Mon, Feb 27, 8:01 PM · Restricted Project, Restricted Project
mnadeem requested review of D144938: [NFC][GVN] Precommit tests for D143129.
Mon, Feb 27, 7:54 PM · Restricted Project, Restricted Project
mnadeem abandoned D143118: [Loads] Return false in canReplacePointersIfEqual helper for non-aliasing pointers.

Ported all changes to the patch I previously added as the child revision.

Mon, Feb 27, 11:56 AM · Restricted Project, Restricted Project
mnadeem planned changes to D109807: [InstCombine] Narrow type of logical operation chains in certain cases.

Removing from reviewer's ready to review list for now. Will come back to this patch when/if time permits.

Mon, Feb 27, 11:55 AM · Restricted Project, Restricted Project
mnadeem planned changes to D112509: [Instcombine] Add patterns to generate fneg(fabs(x)) instead of fcmp/selects.

Removing from reviewer's ready to review list for now. Will come back to this patch when/if time permits.

Mon, Feb 27, 11:54 AM · Restricted Project, Restricted Project
mnadeem planned changes to D112675: [Instcombine] Add patterns to generate fneg(fabs(x)) instead of fcmp/sub/selects (part 1).

Removing from reviewer's ready to review list for now. Will come back to this patch when/if time permits.

Mon, Feb 27, 11:54 AM · Restricted Project, Restricted Project
mnadeem planned changes to D127455: [MLIR] Add `comdat` to globals when translating to LLVM IR on Windows.

Removing from reviewer's ready to review list for now.

Mon, Feb 27, 11:52 AM · Restricted Project, Restricted Project, Restricted Project
mnadeem added inline comments to D143129: [GVN] Restrict equality propagation for pointers.
Mon, Feb 27, 11:29 AM · Restricted Project, Restricted Project
mnadeem updated the diff for D142420: [Flang] Add support to use LTO specific pipelines.

Add LTO bitcode test.

Mon, Feb 27, 10:23 AM · Restricted Project, Restricted Project, Restricted Project
mnadeem updated the diff for D143129: [GVN] Restrict equality propagation for pointers.

clang format

Mon, Feb 27, 9:05 AM · Restricted Project, Restricted Project

Sat, Feb 25

mnadeem added inline comments to D143129: [GVN] Restrict equality propagation for pointers.
Sat, Feb 25, 4:37 PM · Restricted Project, Restricted Project
mnadeem updated the diff for D143129: [GVN] Restrict equality propagation for pointers.
Sat, Feb 25, 4:35 PM · Restricted Project, Restricted Project

Mon, Feb 20

mnadeem added a comment to D143129: [GVN] Restrict equality propagation for pointers.

Here are the diffs for llvm-test-suite bitcode:
https://github.com/UsmanNadeem/vigilant-octo-journey/commit/125698f591df1f8de81ad4119b0838e135a18af8
and
https://github.com/UsmanNadeem/vigilant-octo-journey/commit/a778479334852e7f05b5a248da4473106aa986fb

...
Oh, that's a nice way to analyze differences. How did you produce the output?
...

Mon, Feb 20, 4:09 PM · Restricted Project, Restricted Project

Feb 9 2023

mnadeem requested review of D143129: [GVN] Restrict equality propagation for pointers.
Feb 9 2023, 7:16 PM · Restricted Project, Restricted Project
mnadeem added a comment to D143129: [GVN] Restrict equality propagation for pointers.

@nikic
I was looking at https://llvm.org/devmtg/2018-04/slides/Lopes-Sbirlea-Pointers,%20Alias%20and%20ModRef%20Analyses.pdf page 15, which says that replacement with null ptr is safe. So I did two runs, one where we do pointer replacement only when they have same underlying objects, and the another where we also replace pointers with null.

Feb 9 2023, 7:15 PM · Restricted Project, Restricted Project

Feb 7 2023

mnadeem accepted D142807: [flang] Use clang sysroot image to test fastmath linking.
Feb 7 2023, 12:12 PM · Restricted Project, Restricted Project

Feb 2 2023

mnadeem planned changes to D143129: [GVN] Restrict equality propagation for pointers.

This looks okay on the surface, but this needs at least a spot check of llvm-test-suite IR diffs to get an idea of how much this affects codegen. If there are no substantial regressions, let's go with it. Otherwise we may need to think harder about how we can mitigate regressions.

Feb 2 2023, 5:40 PM · Restricted Project, Restricted Project
mnadeem updated the diff for D142420: [Flang] Add support to use LTO specific pipelines.
Feb 2 2023, 5:35 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem added a comment to D142420: [Flang] Add support to use LTO specific pipelines.

Would it help to compile a lto.f90 to lto.o and check with llvm-objdump that there is a special section?

Feb 2 2023, 5:34 PM · Restricted Project, Restricted Project, Restricted Project

Feb 1 2023

mnadeem updated the diff for D143129: [GVN] Restrict equality propagation for pointers.
Feb 1 2023, 6:49 PM · Restricted Project, Restricted Project
mnadeem requested review of D143129: [GVN] Restrict equality propagation for pointers.
Feb 1 2023, 6:46 PM · Restricted Project, Restricted Project
mnadeem requested review of D143118: [Loads] Return false in canReplacePointersIfEqual helper for non-aliasing pointers.
Feb 1 2023, 4:06 PM · Restricted Project, Restricted Project

Jan 28 2023

mnadeem added inline comments to D142420: [Flang] Add support to use LTO specific pipelines.
Jan 28 2023, 1:58 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem updated the diff for D142420: [Flang] Add support to use LTO specific pipelines.
Jan 28 2023, 1:54 PM · Restricted Project, Restricted Project, Restricted Project

Jan 27 2023

mnadeem updated the diff for D142420: [Flang] Add support to use LTO specific pipelines.

Add the new warning to a group to fix clang test failure.

Jan 27 2023, 3:15 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem updated the summary of D142420: [Flang] Add support to use LTO specific pipelines.
Jan 27 2023, 1:30 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem added inline comments to D142420: [Flang] Add support to use LTO specific pipelines.
Jan 27 2023, 1:30 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem updated the diff for D142420: [Flang] Add support to use LTO specific pipelines.
  • Address comments.
  • Fix formatting for some old code as well.
  • Update commit message.
Jan 27 2023, 1:28 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem added inline comments to D138675: [flang] Add -ffast-math and -Ofast.
Jan 27 2023, 12:46 PM · Restricted Project, Restricted Project, Restricted Project

Jan 26 2023

mnadeem added a comment to D142420: [Flang] Add support to use LTO specific pipelines.

We probably need tests for the following:
-> Additional linker invocation options are created. (Is this the plugin option?)
-> Test to ensure that the emitted object code contains the additional info require for LTO.

I see some additional info in the LLVM IR generated with LTO in clang. Example below. Isn't this info required for Flang as well?

^0 = module: (path: "", hash: (0, 0, 0, 0, 0))
^1 = gv: (name: "add", summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 1, live: 0, dsoLocal: 1, canAutoHide: 0), insts: 8, funcFlags: (readNone: 0, readOnly: 0, noRecurse: 0, returnDoesNotAlias: 0, noInline: 1, alwaysInline: 0, noUnwind: 1, mayThrow: 0, hasUnknownCall: 0, mustBeUnreachable: 0)))) ; guid = 2232412992676883508
^2 = flags: 8
^3 = blockcount: 1
Jan 26 2023, 3:55 PM · Restricted Project, Restricted Project, Restricted Project

Jan 25 2023

mnadeem added a comment to D142420: [Flang] Add support to use LTO specific pipelines.

Thanks @mnadeem for this patch. Have you tried LTO and seen improvements? Or should flang emit additional info for this to work well?

This patch closely mimics clang behaviour with two exceptions:
No standalone option -flto for fc1. This is not needed if we always pass flto=xxx
Change the codegen option name from PrepareForLTO to PrepareForFullLTO to be more precise.

Is this a simplification/improvement or is there a strong case for these changes in Flang?

Are additional changes required for emitting assembly or bitcode?

Jan 25 2023, 10:38 AM · Restricted Project, Restricted Project, Restricted Project
mnadeem updated the diff for D142420: [Flang] Add support to use LTO specific pipelines.
Jan 25 2023, 10:37 AM · Restricted Project, Restricted Project, Restricted Project
mnadeem added a comment to D142420: [Flang] Add support to use LTO specific pipelines.

ping

Jan 25 2023, 7:41 AM · Restricted Project, Restricted Project, Restricted Project

Jan 23 2023

mnadeem requested review of D142420: [Flang] Add support to use LTO specific pipelines.
Jan 23 2023, 4:50 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem committed rGc9821abfc023: [WoA] Use fences for sequentially consistent stores/writes (authored by mnadeem).
[WoA] Use fences for sequentially consistent stores/writes
Jan 23 2023, 4:10 PM · Restricted Project, Restricted Project
mnadeem committed rGa6a4fe203f3c: [NFC][WoA] Precommit test for aarch64 atomics (authored by mnadeem).
[NFC][WoA] Precommit test for aarch64 atomics
Jan 23 2023, 4:10 PM · Restricted Project, Restricted Project
mnadeem closed D141748: [WoA] Use fences for sequentially consistent stores/writes.
Jan 23 2023, 4:10 PM · Restricted Project, Restricted Project
mnadeem closed D141964: [NFC] Precommit test.
Jan 23 2023, 4:10 PM · Restricted Project, Restricted Project

Jan 21 2023

mnadeem updated subscribers of D142273: [flang] Avoid unnecessary temporaries in ArrayValueCopy..
Jan 21 2023, 12:33 PM · Restricted Project, Restricted Project

Jan 18 2023

mnadeem updated the diff for D141748: [WoA] Use fences for sequentially consistent stores/writes.
  • Use fewer barriers and existing acquire/release instruction sequence.
  • Add a shouldInsertTrailingFenceForAtomicStore() function.
Jan 18 2023, 4:02 PM · Restricted Project, Restricted Project
mnadeem added a comment to D141748: [WoA] Use fences for sequentially consistent stores/writes.

The explanation makes sense.

Can we make this specifically apply to _Interlocked* functions, instead of all atomics on Windows targets? I'd prefer not to impose this performance penalty on other users of atomics if we can avoid it.

Jan 18 2023, 12:49 PM · Restricted Project, Restricted Project
mnadeem added a comment to D141976: [Flang] Fix parsing error on loop count compiler directive.

@mnadeem Please update the documentation llvm-project/flang/docs/Directives.md to include dir$ loop count. Thank you!

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

Jan 17 2023

mnadeem committed rGc2d8974a8976: [Flang] Fix parsing error on loop count compiler directive (authored by mnadeem).
[Flang] Fix parsing error on loop count compiler directive
Jan 17 2023, 7:16 PM · Restricted Project, Restricted Project
mnadeem closed D141976: [Flang] Fix parsing error on loop count compiler directive.
Jan 17 2023, 7:16 PM · Restricted Project, Restricted Project
mnadeem updated the diff for D141976: [Flang] Fix parsing error on loop count compiler directive.
Jan 17 2023, 6:48 PM · Restricted Project, Restricted Project
mnadeem added a reviewer for D141976: [Flang] Fix parsing error on loop count compiler directive: kiranchandramohan.
Jan 17 2023, 4:36 PM · Restricted Project, Restricted Project
mnadeem added reviewers for D141976: [Flang] Fix parsing error on loop count compiler directive: klausler, PeteSteinfeld, jdoerfert.
Jan 17 2023, 4:36 PM · Restricted Project, Restricted Project
mnadeem requested review of D141976: [Flang] Fix parsing error on loop count compiler directive.
Jan 17 2023, 4:35 PM · Restricted Project, Restricted Project
mnadeem requested review of D141964: [NFC] Precommit test.
Jan 17 2023, 1:26 PM · Restricted Project, Restricted Project
mnadeem abandoned D111032: Testing instcombine/licm pass order....
Jan 17 2023, 11:55 AM · Restricted Project, Restricted Project
mnadeem abandoned D112666: [NFC] Rewrite some tests..
Jan 17 2023, 11:55 AM · Restricted Project, Restricted Project

Jan 13 2023

mnadeem abandoned D112283: [Instcombine] Try to get select's FMFs from its operands.
Jan 13 2023, 8:54 PM · Restricted Project, Restricted Project
mnadeem retitled D141748: [WoA] Use fences for sequentially consistent stores/writes from [WoA] Use fences for sequentially consistent stores to [WoA] Use fences for sequentially consistent stores/writes.
Jan 13 2023, 8:53 PM · Restricted Project, Restricted Project
mnadeem requested review of D141748: [WoA] Use fences for sequentially consistent stores/writes.
Jan 13 2023, 8:48 PM · Restricted Project, Restricted Project

Dec 2 2022

mnadeem committed rG3951a73490df: [Flang][Driver] Handle target CPU and features (authored by mnadeem).
[Flang][Driver] Handle target CPU and features
Dec 2 2022, 9:40 AM · Restricted Project, Restricted Project, Restricted Project
mnadeem closed D137995: [Flang][Driver] Handle target CPU and features.
Dec 2 2022, 9:40 AM · Restricted Project, Restricted Project, Restricted Project

Dec 1 2022

mnadeem updated the diff for D137995: [Flang][Driver] Handle target CPU and features.
  • Address comments.
  • Add fc1 tests.
Dec 1 2022, 4:38 PM · Restricted Project, Restricted Project, Restricted Project

Nov 29 2022

mnadeem added inline comments to D137995: [Flang][Driver] Handle target CPU and features.
Nov 29 2022, 5:45 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem added inline comments to D137995: [Flang][Driver] Handle target CPU and features.
Nov 29 2022, 5:44 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem added a comment to D137995: [Flang][Driver] Handle target CPU and features.

We might need -fc1 tests as well.

Nov 29 2022, 5:40 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem added a comment to D137995: [Flang][Driver] Handle target CPU and features.

Thanks for implementing this!

Processes target cpu and features in the flang driver. Right now features are only added for AArch64 because I only did basic testing on AArch64 but it should generally work for others as well.

X86 is a very popular target and we have pre-commit CI as well. And X86 buildbots :) Please include X86.

Question: are the option semantics identical that what you get in clang -cc1? If yes, could you add a comment in the summary?

Nov 29 2022, 5:38 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem updated the diff for D137995: [Flang][Driver] Handle target CPU and features.
Nov 29 2022, 5:38 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem resigned from D138132: [JumpThreading] Preserve profile metadata during select unfolding.
Nov 29 2022, 3:42 PM · Restricted Project, Restricted Project

Nov 28 2022

mnadeem abandoned D112950: [OpenMP] Fix some non-determinism causing test failures in reverse iterator builds.
Nov 28 2022, 4:09 PM · Restricted Project, Restricted Project, Restricted Project
mnadeem committed rG54dc764db7ff: [Flang][Test] Add support to change the default target triple for tests (authored by mnadeem).
[Flang][Test] Add support to change the default target triple for tests
Nov 28 2022, 4:03 PM · Restricted Project, Restricted Project
mnadeem closed D138530: [Flang][Test] Add support to change the default target triple for tests.
Nov 28 2022, 4:03 PM · Restricted Project, Restricted Project

Nov 22 2022

mnadeem requested review of D138530: [Flang][Test] Add support to change the default target triple for tests.
Nov 22 2022, 4:16 PM · Restricted Project, Restricted Project

Nov 14 2022

mnadeem requested review of D137995: [Flang][Driver] Handle target CPU and features.
Nov 14 2022, 5:07 PM · Restricted Project, Restricted Project, Restricted Project

Nov 10 2022

mnadeem committed rGd34dce25d958: [Flang] Allow registering plugin extensions with the pass builder (authored by mnadeem).
[Flang] Allow registering plugin extensions with the pass builder
Nov 10 2022, 2:17 PM · Restricted Project, Restricted Project
mnadeem closed D137673: [Flang] Allow registering plugin extensions with the pass builder..
Nov 10 2022, 2:16 PM · Restricted Project, Restricted Project

Nov 9 2022

mnadeem updated the diff for D137673: [Flang] Allow registering plugin extensions with the pass builder..

Added a test and did the relevant test config changes.

Nov 9 2022, 1:59 PM · Restricted Project, Restricted Project
mnadeem added a comment to D137673: [Flang] Allow registering plugin extensions with the pass builder..

Hey @mnadeem , thanks for sending this!

  1. Could you add a test? I would hope that you can re-use Bye, similarly to https://reviews.llvm.org/D129156.
  2. Could you document how to use this?
Nov 9 2022, 12:03 PM · Restricted Project, Restricted Project
mnadeem updated the summary of D137673: [Flang] Allow registering plugin extensions with the pass builder..
Nov 9 2022, 11:49 AM · Restricted Project, Restricted Project

Nov 8 2022

mnadeem added a reviewer for D137673: [Flang] Allow registering plugin extensions with the pass builder.: vzakhari.
Nov 8 2022, 6:39 PM · Restricted Project, Restricted Project
mnadeem updated the diff for D137673: [Flang] Allow registering plugin extensions with the pass builder..
Nov 8 2022, 4:52 PM · Restricted Project, Restricted Project
mnadeem requested review of D137673: [Flang] Allow registering plugin extensions with the pass builder..
Nov 8 2022, 2:39 PM · Restricted Project, Restricted Project