Page MenuHomePhabricator
Feed Advanced Search

Wed, Nov 6

mehdi_amini added inline comments to D69332: Implement the Waymarking as an independent utility.
Wed, Nov 6, 6:06 PM · Restricted Project
mehdi_amini added a comment to D69498: IR: Invert convergent attribute handling.

Just thought about a slight variation on this: what about adding a flag on the datalayout (or a module flag) but not use it in the transformations/analyses, instead use it only when creating Function by always setting the convergent attribute when the flag is present? This would require to always have a Module passed to the Function constructor though (the C API already does, we would just need to update the C++ users).

So creating a Function in a Module with this flag would have the convergent attribute set on creation (can be unset explicitly).

This sounds almost too low level. The bitcode loading of a function shouldn’t be adding attributes to non-intrinsics, otherwise it’s changing the meaning of the program and not preserving the input

Wed, Nov 6, 12:48 PM · Restricted Project

Tue, Nov 5

mehdi_amini added inline comments to D69824: Extends the tblgen macro to allow mlir-tblgen to be installed.
Tue, Nov 5, 12:01 PM · Restricted Project

Sat, Nov 2

mehdi_amini added a comment to D69498: IR: Invert convergent attribute handling.

Perhaps there should be a global metadata, or something in the increasingly-misnamed "data layout" string, which says that convergence is meaningful, and we should only add the attribute in appropriately-annotated modules?

Just wanted to resurface these alternatives from John. Given that some targets want a fundamentally different default from what most frontends expect, I think we ought to find some way to encode the difference.

Sat, Nov 2, 10:57 AM · Restricted Project

Wed, Oct 30

mehdi_amini added a comment to D69498: IR: Invert convergent attribute handling.

Let me quote @arsenm here because this is so important: "Basically no frontend has gotten this right, including clang and non-clang frontends." For me, that statement alone is reason to change the status quo.

I am not convinced by this: this seems overly simplistic. The fact that convergent wasn't rolled out properly in frontend can also been as an artifact of the past.

Evidence suggest this problem will resurface over and over again, calling it an artifact of the past is dangerous and not helpful.

Wed, Oct 30, 12:38 PM · Restricted Project
mehdi_amini added a comment to D69498: IR: Invert convergent attribute handling.

Let me quote @arsenm here because this is so important: "Basically no frontend has gotten this right, including clang and non-clang frontends." For me, that statement alone is reason to change the status quo.

Wed, Oct 30, 10:41 AM · Restricted Project
mehdi_amini added a comment to D69498: IR: Invert convergent attribute handling.

Maybe we can start by looking into the motivation for this patch:

There is a burden on frontends in environments that care about convergent operations to add the attribute just in case it is needed. This has proven to be somewhat problematic, and different frontend projects have consistently run into problems related to this.

Can you clarify what kind of problems? Do you have concrete examples?

The frontend has to put convergent on everything that is not known to be non-convergent right now. That is, the front-end and all function generating constructs need to know about convergent to preserve correctness.

Wed, Oct 30, 12:02 AM · Restricted Project

Tue, Oct 29

mehdi_amini committed rG508ba9a08908: Merge remote-tracking branch 'upstream/master' into upstream-with-swift (authored by mehdi_amini).
Merge remote-tracking branch 'upstream/master' into upstream-with-swift
Tue, Oct 29, 2:17 PM
mehdi_amini committed rGa6551669eb1c: Merge remote-tracking branch 'origin/master' into upstream-with-swift (authored by mehdi_amini).
Merge remote-tracking branch 'origin/master' into upstream-with-swift
Tue, Oct 29, 2:09 PM
mehdi_amini committed rG114ba7ff2139: Revert "Fix build after incorrect merge conflict fix" (authored by mehdi_amini).
Revert "Fix build after incorrect merge conflict fix"
Tue, Oct 29, 1:58 PM
mehdi_amini committed rG9dd017190fec: Merge remote-tracking branch 'origin/master' into upstream-with-swift (authored by mehdi_amini).
Merge remote-tracking branch 'origin/master' into upstream-with-swift
Tue, Oct 29, 1:14 PM
mehdi_amini committed rG5083efbf53b9: Merge 'upstream/master' into upstream-with-swift (authored by mehdi_amini).
Merge 'upstream/master' into upstream-with-swift
Tue, Oct 29, 1:14 PM
mehdi_amini added a comment to D69498: IR: Invert convergent attribute handling.

Maybe we can start by looking into the motivation for this patch:

Tue, Oct 29, 11:51 AM · Restricted Project

Sun, Oct 27

mehdi_amini added a comment to D69207: [lit] Don't fail when printing test output with special chars.

I have a failure on my bot for tools/llvm-ar/mri-utf8.test ; and this patch is making it worse.

Sun, Oct 27, 11:41 PM · Restricted Project
mehdi_amini added a comment to D69498: IR: Invert convergent attribute handling.

I think this is the kind of thing to document on this page: https://llvm.org/docs/Frontend/PerformanceTips.html

Sun, Oct 27, 8:29 PM · Restricted Project

Mon, Oct 21

mehdi_amini added a comment to D64742: Allow using -ftrivial-auto-var-init=zero in C mode without extra flags.

As a data point, Linus Torvalds suggested that we need a similar feature for GCC so that the "kernel C standard" mandates zero-initialization for locals: https://lkml.org/lkml/2019/7/28/206

Mon, Oct 21, 11:24 AM · Restricted Project

Sat, Oct 19

mehdi_amini added a comment to D69121: [LegacyPassManager] Delete BasicBlockPass/Manager..

Wow I thought we already deleted BBPass a while ago, good cleanup!

Sat, Oct 19, 10:06 AM · Restricted Project

Oct 10 2019

mehdi_amini added inline comments to D66840: docs/DeveloperPolicy: Add instructions for requesting GitHub commit access.
Oct 10 2019, 12:02 AM · Restricted Project

Oct 9 2019

mehdi_amini committed rL374282: Request commit access for mehdi_amini.
Request commit access for mehdi_amini
Oct 9 2019, 11:05 PM
mehdi_amini added a comment to D66840: docs/DeveloperPolicy: Add instructions for requesting GitHub commit access.

I think this would be useful to have in?

Oct 9 2019, 11:05 PM · Restricted Project

Oct 4 2019

mehdi_amini committed rG482f4d9aa9d1: Expose ProvidePositionalOption as a public API (authored by mehdi_amini).
Expose ProvidePositionalOption as a public API
Oct 4 2019, 6:40 PM
mehdi_amini committed rL373815: Expose ProvidePositionalOption as a public API.
Expose ProvidePositionalOption as a public API
Oct 4 2019, 6:40 PM
mehdi_amini closed D68294: Expose ProvidePositionalOption for use in mlir..
Oct 4 2019, 6:40 PM · Restricted Project
mehdi_amini accepted D68294: Expose ProvidePositionalOption for use in mlir..

LGTM

Oct 4 2019, 12:47 PM · Restricted Project

Sep 25 2019

mehdi_amini added inline comments to D68049: Propeller: Clang options for basic block sections .
Sep 25 2019, 3:28 PM · Restricted Project

Sep 24 2019

mehdi_amini added a comment to D67847: [Support] make report_fatal_error `abort` instead of `exit`.

LGTM: report_fatal_error() should not be considered like a "normal way" of aborting the compilation flow, crashing is never a good thing: in general I'm in favor of better error propagation (we claim that LLVM is a library framework right?)

Sep 24 2019, 9:12 PM · Restricted Project, Restricted Project
mehdi_amini added a comment to D63932: [GlobalDCE] Dead Virtual Function Elimination.

This makes the IR self-contained, which is good, but it also make the interpretation of the IR modal, which isn't great. It means that suddenly the rules of interpretation of what is valid to do or not changes according to this module flag.

I think the original version was better from that perspective - most compiler passes only need to check for one value of the attribute, and only the linker needed to care about the difference between link-unit and public visibility.

Sep 24 2019, 12:22 AM · Restricted Project, Restricted Project

Sep 21 2019

mehdi_amini added a comment to D63932: [GlobalDCE] Dead Virtual Function Elimination.

we represent the "post-link" flag in the IR (e.g. as a module flag) in order to keep the IR self-contained.

Sep 21 2019, 11:38 AM · Restricted Project, Restricted Project

Sep 10 2019

mehdi_amini added a comment to D67262: [git-llvm] Do not reinvent `@{upstream}`.

I don't know what the long-term plans for this script are.

The only way for us to enforce linear history on GitHub at the moment is to mandate the use of the script unfortunately.

Food for thought:

  1. git-llvm is run client side, so the linear history check isn't technically "enforced".
Sep 10 2019, 11:30 PM · Restricted Project
mehdi_amini updated subscribers of D67389: [git-llvm] Do not reinvent `@{upstream}` (take 2).

Works for me, but let's confirm with @thakis

Sep 10 2019, 10:14 PM · Restricted Project
mehdi_amini added a comment to D67262: [git-llvm] Do not reinvent `@{upstream}`.

I don't know what the long-term plans for this script are.

Sep 10 2019, 10:03 PM · Restricted Project

Sep 9 2019

mehdi_amini committed rGdaa79c533822: Revert [git-llvm] Do not reinvent `@{upstream}` (authored by mehdi_amini).
Revert [git-llvm] Do not reinvent `@{upstream}`
Sep 9 2019, 6:28 PM
mehdi_amini committed rL371480: Revert [git-llvm] Do not reinvent `@{upstream}`.
Revert [git-llvm] Do not reinvent `@{upstream}`
Sep 9 2019, 6:27 PM
mehdi_amini added a comment to D67262: [git-llvm] Do not reinvent `@{upstream}`.

I took the responsibility of reverting in r371480, since I approved this revision without anticipating the behavior change.

Sep 9 2019, 6:27 PM · Restricted Project

Sep 8 2019

mehdi_amini added a comment to D67262: [git-llvm] Do not reinvent `@{upstream}`.

Do we have the same ability as git push to specify the remote? The equivalent of git push origin master (which works without having an upstream branch)?

Sep 8 2019, 10:03 AM · Restricted Project

Sep 6 2019

mehdi_amini accepted D67262: [git-llvm] Do not reinvent `@{upstream}`.

LGTM.
Nice! I didn't this notation, apparently it's been there since 1.7.
You can also use @{u} shortcut for it, I'll try to remember this

Sep 6 2019, 9:08 PM · Restricted Project

Aug 20 2019

mehdi_amini added a comment to D66443: [LifetimeAnalysis] Add [[gsl::Pointer]] to llvm::StringRef.

Seems like an attribute that could go on ArrayRef as well?

Aug 20 2019, 10:24 PM · Restricted Project

Aug 14 2019

mehdi_amini added inline comments to D66148: [SemanticTypedef] Provide a semantic typedef class and operators.
Aug 14 2019, 11:01 AM · Restricted Project

Aug 6 2019

mehdi_amini added a comment to D63976: Allow clang -Os and -Oz to work with -flto and lld.

with a funny command line like clang -Oz -flto -o foo a.o b.c, where one (or all) of the input arguments is a source file? Would it invoke the bitcode compile of the source files with the requested -Oz and then invoke the LTO linker plugin with -O2/-O3?

Aug 6 2019, 1:03 PM · Restricted Project
mehdi_amini added a comment to D63976: Allow clang -Os and -Oz to work with -flto and lld.

I assume I might be missing something here, though, since someone mentioned this above (I don't understand the response to it though).

Aug 6 2019, 10:59 AM · Restricted Project

Aug 5 2019

mehdi_amini added a comment to D65774: Removing redundant-move warnings generated by gcc9x..

Isn't clang warning in the other direction? (incompatible with GCC)

Aug 5 2019, 10:28 PM · Restricted Project
mehdi_amini added a comment to D65774: Removing redundant-move warnings generated by gcc9x..

Isn't clang warning in the other direction? (incompatible with GCC)

Aug 5 2019, 10:28 PM · Restricted Project

Aug 3 2019

mehdi_amini created D65703: Fix typo in GN build configuration.
Aug 3 2019, 2:26 PM · Restricted Project
mehdi_amini committed rG4197d1c3667b: Fixup r367321 "Ask confirmation when `git llvm push` will push multiple commits" (authored by mehdi_amini).
Fixup r367321 "Ask confirmation when `git llvm push` will push multiple commits"
Aug 3 2019, 11:56 AM
mehdi_amini committed rL367761: Fixup r367321 "Ask confirmation when `git llvm push` will push multiple commits".
Fixup r367321 "Ask confirmation when `git llvm push` will push multiple commits"
Aug 3 2019, 11:53 AM

Jul 30 2019

mehdi_amini committed rGc960c0a4915b: Ask confirmation when `git llvm push` will push multiple commits (authored by mehdi_amini).
Ask confirmation when `git llvm push` will push multiple commits
Jul 30 2019, 8:26 AM
mehdi_amini committed rG7492b1ea07b0: Fix `git llvm` script when no arguments are supplied on Python 3 (authored by mehdi_amini).
Fix `git llvm` script when no arguments are supplied on Python 3
Jul 30 2019, 8:26 AM
mehdi_amini committed rL367321: Ask confirmation when `git llvm push` will push multiple commits.
Ask confirmation when `git llvm push` will push multiple commits
Jul 30 2019, 8:25 AM
mehdi_amini closed D64893: Ask confirmation when `git llvm push` will push multiple commits.
Jul 30 2019, 8:24 AM · Restricted Project
mehdi_amini committed rL367320: Fix `git llvm` script when no arguments are supplied on Python 3.
Fix `git llvm` script when no arguments are supplied on Python 3
Jul 30 2019, 8:24 AM

Jul 29 2019

mehdi_amini accepted D65416: Fix git-llvm to not delete non-empty directories..
Jul 29 2019, 9:39 PM · Restricted Project
mehdi_amini added inline comments to D64893: Ask confirmation when `git llvm push` will push multiple commits.
Jul 29 2019, 9:27 PM · Restricted Project
mehdi_amini updated the diff for D64893: Ask confirmation when `git llvm push` will push multiple commits.
  • Improve output when asking the user a question
  • simplify python 2/3 compatibility
Jul 29 2019, 9:27 PM · Restricted Project
mehdi_amini added a comment to D64893: Ask confirmation when `git llvm push` will push multiple commits.

@jyknight : ping?

Jul 29 2019, 7:54 AM · Restricted Project

Jul 27 2019

mehdi_amini added a comment to D65295: [opt] Ensure the IR-Linker is available to plugins..

The CMake build system option PLUGIN_TOOL on add_llvm_loadable_module is for this specific purpose, it instructs the link step for the plugin dylib to resolve symbols against the tool.

Polly likely needs to generate different libraries for being a clang plugin vs being an opt plugin, but that is expected and the correct solution to this problem.

Jul 27 2019, 11:58 AM · Restricted Project

Jul 25 2019

mehdi_amini requested changes to D65295: [opt] Ensure the IR-Linker is available to plugins..

unfortunately does not solve the more general problem that not all symbols are available to plugins in statically linked tools. I am open for better solutions.

Jul 25 2019, 5:58 PM · Restricted Project

Jul 20 2019

mehdi_amini accepted D65038: Add location of SVN staging dir to git-llvm error output.
Jul 20 2019, 10:31 AM · Restricted Project

Jul 18 2019

mehdi_amini accepted D64909: [IPRA] Don't rely on non-exact function definitions.
Jul 18 2019, 12:21 PM · Restricted Project
mehdi_amini updated the diff for D64893: Ask confirmation when `git llvm push` will push multiple commits.
Jul 18 2019, 12:10 PM · Restricted Project
mehdi_amini updated the diff for D64893: Ask confirmation when `git llvm push` will push multiple commits.

default to No

Jul 18 2019, 12:07 PM · Restricted Project

Jul 17 2019

mehdi_amini updated the diff for D64893: Ask confirmation when `git llvm push` will push multiple commits.

Change abort message to "Aborting"

Jul 17 2019, 10:19 PM · Restricted Project
mehdi_amini added inline comments to D64893: Ask confirmation when `git llvm push` will push multiple commits.
Jul 17 2019, 10:19 PM · Restricted Project
mehdi_amini updated the diff for D64893: Ask confirmation when `git llvm push` will push multiple commits.

Fix python 2/3 compatibility

Jul 17 2019, 3:51 PM · Restricted Project
mehdi_amini added inline comments to D64893: Ask confirmation when `git llvm push` will push multiple commits.
Jul 17 2019, 3:43 PM · Restricted Project
mehdi_amini added a reviewer for D64893: Ask confirmation when `git llvm push` will push multiple commits: jyknight.
Jul 17 2019, 3:39 PM · Restricted Project
mehdi_amini created D64893: Ask confirmation when `git llvm push` will push multiple commits.
Jul 17 2019, 3:38 PM · Restricted Project
mehdi_amini added a comment to D64875: Add LLVM's LICENSE.txt file to the monorepo root.

The motivation is unclear to me at the moment? Why is it a good thing?

Jul 17 2019, 2:17 PM · Restricted Project

Jul 13 2019

mehdi_amini accepted D64697: [GitSVN][NFC] Mark dry-run commits as such in the log output.

LGTM (after you remove the typo)

Jul 13 2019, 11:17 AM · Restricted Project

Jul 2 2019

mehdi_amini added a comment to D63976: Allow clang -Os and -Oz to work with -flto and lld.

I agree with Teresa. I don't think automatically setting O3 for Os and Oz is a good idea because these three options are different (that's why we have three different options in the first place). Adding an Os and Oz to lld's LTO option seems like a good idea, but they should be mapped to their corresponding features.

Jul 2 2019, 9:38 AM · Restricted Project

Jun 28 2019

mehdi_amini requested changes to D60495: Load balancing for LTO.

LGTM, but it'd be nice if @tejohnson or @pcc would also approve.

I added a suggestion a couple hours ago, just for commoning the code between the two LTO APIs.

Jun 28 2019, 4:15 PM · Restricted Project
mehdi_amini accepted D60495: Load balancing for LTO.

LGTM, but it'd be nice if @tejohnson or @pcc would also approve.

Jun 28 2019, 4:04 PM · Restricted Project

Jun 27 2019

mehdi_amini added inline comments to D62801: Add "willreturn" function attribute.
Jun 27 2019, 9:10 AM · Restricted Project

Jun 23 2019

mehdi_amini accepted D61738: Provide basic LTO extension points.

Sorry I missed the previous updates.

Jun 23 2019, 5:38 PM · Restricted Project

Jun 20 2019

mehdi_amini committed rL364007: Use std::iterator_traits to infer result type of llvm::enumerate iterator….
Use std::iterator_traits to infer result type of llvm::enumerate iterator…
Jun 20 2019, 11:14 PM
mehdi_amini committed rGfc9aa33def00: Use std::iterator_traits to infer result type of llvm::enumerate iterator… (authored by mehdi_amini).
Use std::iterator_traits to infer result type of llvm::enumerate iterator…
Jun 20 2019, 10:42 PM
mehdi_amini closed D63632: Update the llvm::enumerate utility class result_pair to use the 'iterator_traits<R>::reference' instead of 'ValueOfIter<R> &'..
Jun 20 2019, 10:41 PM · Restricted Project
mehdi_amini accepted D63632: Update the llvm::enumerate utility class result_pair to use the 'iterator_traits<R>::reference' instead of 'ValueOfIter<R> &'..

LGTM

Jun 20 2019, 4:56 PM · Restricted Project

Jun 10 2019

mehdi_amini added inline comments to D63049: Coding Standard: Prefer `int` for regular arithmetic.
Jun 10 2019, 11:25 PM · Restricted Project
mehdi_amini updated the diff for D63049: Coding Standard: Prefer `int` for regular arithmetic.
Jun 10 2019, 11:23 PM · Restricted Project

Jun 8 2019

mehdi_amini updated the summary of D63049: Coding Standard: Prefer `int` for regular arithmetic.
Jun 8 2019, 10:18 AM · Restricted Project
mehdi_amini created D63049: Coding Standard: Prefer `int` for regular arithmetic.
Jun 8 2019, 10:17 AM · Restricted Project

Jun 7 2019

mehdi_amini accepted D63023: [docs] Add 'git llvm revert' to getting started guide.

LGTM, thanks!

Jun 7 2019, 4:59 PM · Restricted Project

May 31 2019

mehdi_amini added a comment to D61738: Provide basic LTO extension points.

(Patch is missing context)

May 31 2019, 12:20 AM · Restricted Project

May 9 2019

mehdi_amini added inline comments to D61446: Generalize the pass registration mechanism used by Polly to any third-party tool.
May 9 2019, 8:46 PM · Restricted Project, Restricted Project
mehdi_amini added a comment to D61446: Generalize the pass registration mechanism used by Polly to any third-party tool.

Wow that's much simpler!

May 9 2019, 5:39 PM · Restricted Project, Restricted Project

May 8 2019

mehdi_amini accepted D61550: Add recommendations on how to start a meetup in your city.

LGTM.

May 8 2019, 6:10 PM · Restricted Project

May 7 2019

mehdi_amini added inline comments to D61446: Generalize the pass registration mechanism used by Polly to any third-party tool.
May 7 2019, 10:31 AM · Restricted Project, Restricted Project

May 5 2019

mehdi_amini added inline comments to D61446: Generalize the pass registration mechanism used by Polly to any third-party tool.
May 5 2019, 4:12 PM · Restricted Project, Restricted Project
mehdi_amini added inline comments to D61550: Add recommendations on how to start a meetup in your city.
May 5 2019, 12:46 PM · Restricted Project
mehdi_amini added a comment to D61550: Add recommendations on how to start a meetup in your city.

It is good idea, thanks for putting this together!

May 5 2019, 11:45 AM · Restricted Project

Apr 30 2019

mehdi_amini added inline comments to D61346: [CMake] Do not use libtool on Apple platforms when building LLVM with (full) LTO..
Apr 30 2019, 3:56 PM · Restricted Project

Apr 25 2019

mehdi_amini committed rL359278: Add MLIR tutorial YouTube links.
Add MLIR tutorial YouTube links
Apr 25 2019, 11:17 PM

Apr 24 2019

mehdi_amini committed rL359165: Fix author list for MLIR tutorial at EuroLLVM 2019.
Fix author list for MLIR tutorial at EuroLLVM 2019
Apr 24 2019, 8:44 PM

Apr 23 2019

mehdi_amini added inline comments to D61022: [ThinLTO] Pass down opt level to LTO backend and handle -O0 LTO in new PM.
Apr 23 2019, 11:07 AM · Restricted Project, Restricted Project
mehdi_amini added inline comments to D61022: [ThinLTO] Pass down opt level to LTO backend and handle -O0 LTO in new PM.
Apr 23 2019, 9:19 AM · Restricted Project, Restricted Project

Apr 17 2019

mehdi_amini committed rL358606: Add slides for the 2019 EuroLLVM Tutorial on MLIR.
Add slides for the 2019 EuroLLVM Tutorial on MLIR
Apr 17 2019, 11:42 AM

Apr 11 2019

mehdi_amini added inline comments to D60495: Load balancing for LTO.
Apr 11 2019, 5:51 PM · Restricted Project

Apr 8 2019

mehdi_amini accepted D60399: [CMake] Replace LLVM_ENABLE_CXX1Y and friends with LLVM_CXX_STD.
Apr 8 2019, 2:06 AM · Restricted Project

Mar 26 2019

mehdi_amini added a comment to D59837: Add "git llvm revert" subcommand.

Looks great! Thanks.

Mar 26 2019, 9:54 PM · Restricted Project

Mar 21 2019

mehdi_amini committed rL356732: Add a new entry in the Open Projects webpages for "Improving Clang diagnostics".
Add a new entry in the Open Projects webpages for "Improving Clang diagnostics"
Mar 21 2019, 8:55 PM