Page MenuHomePhabricator

mehdi_amini (Mehdi AMINI)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 30 2013, 5:34 PM (337 w, 6 d)

Recent Activity

Today

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

Thu, Oct 10

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

Wed, Oct 9

mehdi_amini committed rL374282: Request commit access for mehdi_amini.
Request commit access for mehdi_amini
Wed, Oct 9, 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?

Wed, Oct 9, 11:05 PM · Restricted Project

Fri, Oct 4

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

LGTM

Fri, Oct 4, 12:47 PM · Restricted Project

Wed, Sep 25

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

Tue, Sep 24

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?)

Tue, Sep 24, 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.

Tue, Sep 24, 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

Mar 12 2019

mehdi_amini added inline comments to D59251: [Documentation] Proposal for plan to change variable names.
Mar 12 2019, 3:33 PM · Restricted Project

Mar 11 2019

mehdi_amini updated subscribers of D31739: Add markup for libc++ dylib availability.
Mar 11 2019, 9:14 AM · Restricted Project

Mar 9 2019

mehdi_amini accepted D59161: [git-llvm] Only use --force-interactive when supported.
Mar 9 2019, 4:45 PM · Restricted Project

Feb 25 2019

mehdi_amini accepted D58631: [ThinLTO] Use defined node and edge order when dumping DOT files.

Thanks!

Feb 25 2019, 9:30 AM · Restricted Project

Feb 24 2019

mehdi_amini added a comment to D58391: [TailCallElim] Add tailcall elimination pass to LTO Pipelines.

What's the general state of the LTO pipeline at this point? PassManagerBuilder::addLTOOptimizationPasses is adding passes in a really weird order (in particular, the placement of the inliner is really strange). Has anyone looked at it recently? Would it be worth killing it off in favor of the ThinLTO pipeline just so we don't have to maintain it?

The reason they don't use the same pipeline is that it would be too expensive for regular LTO mode which is serial. ThinLTO can use a more aggressive post-link pipeline due to the parallelism. Mehdi did some measurements a couple years ago and found that using the ThinLTO pipeline for regular LTO increases the compile time in that mode significantly.

Feb 24 2019, 4:37 PM · Restricted Project

Feb 19 2019

mehdi_amini added a comment to D58420: docs/GithubMove.rst: Remove obsolete information.

LGTM, but you should probably wait to hear from someone else as well

Feb 19 2019, 7:01 PM · Restricted Project
mehdi_amini added a comment to D58384: [ThinLTO] Fix test with reverse-iteration.

Summary clusters, nodes and edges are retrieved from DenseMap with arbitrary order, which doesn't make result DOT file invalid.
Reverse iteration just exposes test issues.

Feb 19 2019, 9:37 AM · Restricted Project
mehdi_amini added a comment to D58384: [ThinLTO] Fix test with reverse-iteration.

Is it expected that the test output is sensitive to reverse iteration?
It sounds to me more like an issue with the code than with how the test is expressed.

Feb 19 2019, 8:23 AM · Restricted Project

Feb 13 2019

mehdi_amini added a comment to D58157: Stop enabling clang-tools-extra automatically when clang is in LLVM_ENABLE_PROJECTS.
In D58157#1397302, @rnk wrote:

It'd still be nice to identify the end goal with most cfe people (i.e. even if you land this right now, discussing the desired layout in the monorepo)

I sent off http://lists.llvm.org/pipermail/cfe-dev/2019-February/061290.html, so the larger community is aware of this change. I don't have much to add to a larger discussion about possible code reorganizations, but I suppose folks may come forward to express their opinions.

Feb 13 2019, 3:52 PM · Restricted Project
mehdi_amini added a comment to D58157: Stop enabling clang-tools-extra automatically when clang is in LLVM_ENABLE_PROJECTS.
In D58157#1396824, @rnk wrote:
And, this change really just keeps us at parity with what we had with svn. We can always revisit the decision to merge the clang tools into clang. This particular change just gives us more options, today.
Feb 13 2019, 3:02 PM · Restricted Project
mehdi_amini added a comment to D58157: Stop enabling clang-tools-extra automatically when clang is in LLVM_ENABLE_PROJECTS.
In D58157#1395716, @rnk wrote:

I think we have consensus,

Based on three comments in a revision? Seems strange to me.
I don't really care about this, so do whatever you want, but I would expect that "consensus" means an actual wider discussion (i.e. llvm-dev + cfe-dev).

Please cite said discussion for when you added this, as requested above.

Feb 13 2019, 2:58 PM · Restricted Project

Feb 12 2019

mehdi_amini added a comment to D58157: Stop enabling clang-tools-extra automatically when clang is in LLVM_ENABLE_PROJECTS.
In D58157#1395716, @rnk wrote:

I think we have consensus,

Feb 12 2019, 8:52 PM · Restricted Project
mehdi_amini added a comment to D58157: Stop enabling clang-tools-extra automatically when clang is in LLVM_ENABLE_PROJECTS.

What is the motivation to change this now?

Feb 12 2019, 5:11 PM · Restricted Project

Feb 6 2019

mehdi_amini added a comment to D57535: [CMake] Use LLVM_ENABLE_PROJECTS as the "single source" of truth when used..

Could we sanitize the list of LLVM_ENABLE_PROJECTS and error for unknown entries?

Feb 6 2019, 2:16 PM · Restricted Project

Feb 5 2019

mehdi_amini added a comment to D56485: Always compare C++ typeinfo (based on libstdc++ implementation)..

@dexonsmith: I'm not sure why a new differential should be created? I updated reviewers in this one.

Feb 5 2019, 9:38 AM