mehdi_amini (Mehdi AMINI)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 30 2013, 5:34 PM (212 w, 1 d)

Recent Activity

Today

mehdi_amini added inline comments to D33525: [ThinLTO] Migrate ThinLTOBitcodeWriter to the new PM..
Wed, May 24, 5:07 PM
mehdi_amini added a reviewer for D33513: [ThinLTO] Fix ThinLTO crash while destroying context: dexonsmith.
Wed, May 24, 11:52 AM · lld

Yesterday

mehdi_amini added inline comments to D21723: [RFC] Enhance synchscope representation.
Tue, May 23, 4:22 PM

Mon, May 22

mehdi_amini added inline comments to D21723: [RFC] Enhance synchscope representation.
Mon, May 22, 10:41 PM
mehdi_amini added inline comments to D21723: [RFC] Enhance synchscope representation.
Mon, May 22, 7:51 PM

Fri, May 19

mehdi_amini accepted D33370: Don't verify cross-imported bitcode in FunctionImporter.

LGTM.

Fri, May 19, 4:39 PM
mehdi_amini added a comment to D33370: Don't verify cross-imported bitcode in FunctionImporter.

It turns out that the SrcModule in FunctionImporter is in a really inconsistent intermediate state at the point where I ran the Verifier.

Fri, May 19, 3:30 PM
mehdi_amini accepted D33151: ThinLTO: Verify bitcode before lauching the ThinLTOCodeGenerator..

LGTM.

Fri, May 19, 10:36 AM
mehdi_amini accepted D33360: Rewrite llvm-lto's codegen() using ThinCodeGenerator::run(). NFC-ish..

Thanks!

Fri, May 19, 10:32 AM
mehdi_amini accepted D32401: [Devirtualization] insert placement new barrier with -O0.

LGTM.

Fri, May 19, 10:31 AM

Wed, May 17

mehdi_amini accepted D33291: [ThinLTO] Do not assert when adding a module with a different but compatible target triple.

LGTM. See one inline comment.

Wed, May 17, 12:14 PM
mehdi_amini added a comment to D33151: ThinLTO: Verify bitcode before lauching the ThinLTOCodeGenerator..

It is likely before run() was improved to be able to handle CodeGenOnly, we should retarget llvm-lto to use run() instead. I can do this if you want (likely tonight or tomorrow night)

Thanks for the offer! Please let me know if you won't get to it. If you can just quickly sketch what needs to be done I can do the grunt work, too.

Wed, May 17, 9:39 AM

Tue, May 16

mehdi_amini added a comment to D33151: ThinLTO: Verify bitcode before lauching the ThinLTOCodeGenerator..

It seems to me that it indicates that the check in the codegen() method is redundant now. Why do we need it? What about just removing it?

Because llvm-lto invokes codegen() directly after loading the module itself (wihtout going through ThinLTOCodeGenerator for the loading):

Tue, May 16, 3:44 PM
mehdi_amini added a comment to D33151: ThinLTO: Verify bitcode before lauching the ThinLTOCodeGenerator..

This assumes that there exists a main module, which is a foreign concept to ThinLTOCodegenerator till now AFAIK. I'm not sure what you're trying to express here?
Especially, this seems used only in the codegen, which is only use in a very specific mode (i.e. split model where you store optimized bitcode and reprocess to perform only the codegen). In such case either you want to verify all the modules that you're about to codegen or none. I have the impression that you'll check only the first one. Not sure if I missed something.

In the attached version I removed the flag. This will cause the

void ThinLTOCodeGenerator::run() // CodeGenOnly=true

path to verify the module twice. I'm not particularly concerned by this though and it keeps the code simpler.

Tue, May 16, 3:21 PM
mehdi_amini added inline comments to D33151: ThinLTO: Verify bitcode before lauching the ThinLTOCodeGenerator..
Tue, May 16, 2:02 PM

Mon, May 15

mehdi_amini added a comment to D33162: IR: Give function GlobalValue::getRealLinkageName() a less misleading name: getPGOName()..

(thanks, with this naming it looks better to me!)

Mon, May 15, 6:00 PM
mehdi_amini added a comment to D33151: ThinLTO: Verify bitcode before lauching the ThinLTOCodeGenerator..

(+@pcc)
Someone should take care of making sure this is also handled by the new LTO API.

Mon, May 15, 5:19 PM
mehdi_amini updated subscribers of D33151: ThinLTO: Verify bitcode before lauching the ThinLTOCodeGenerator..
Mon, May 15, 5:17 PM
mehdi_amini added a comment to D21723: [RFC] Enhance synchscope representation.

I think so, but what would be nice to have a test that round-trip a a few non-standard strings (i.e. not "singlethread" or "system") through MIR and through bitcode.

Mon, May 15, 1:18 PM
mehdi_amini added a comment to D21723: [RFC] Enhance synchscope representation.

Is there a MIR test?

Mon, May 15, 12:52 PM
mehdi_amini accepted D32803: [LTO] Print time-passes information at conclusion of LTO codegen.

LGTM, thanks.

Mon, May 15, 7:59 AM

Sun, May 14

mehdi_amini accepted D33177: any: Add availability for experimental::bad_any_cast.

LGTM.

Sun, May 14, 7:53 PM

Sat, May 13

mehdi_amini added a comment to D33162: IR: Give function GlobalValue::getRealLinkageName() a less misleading name: getPGOName()..
In D33162#754180, @pcc wrote:

Most of the uses reads quite wrong since it has nothing to do with PGO.

Yes, that's the point :)

Use of a function named getPGOName() in code that has nothing to do with PGO stands out and makes it more obvious that there is a bug. Using a "better" name would increase the chance of the function being used incorrectly in other places.

Sat, May 13, 2:52 PM

Fri, May 12

mehdi_amini added a comment to D33162: IR: Give function GlobalValue::getRealLinkageName() a less misleading name: getPGOName()..

Most of the uses reads quite wrong since it has nothing to do with PGO. I'm not fond of this renaming right now, can we find another alternative name?

Fri, May 12, 8:43 PM
mehdi_amini added a comment to D33151: ThinLTO: Verify bitcode before lauching the ThinLTOCodeGenerator..

What about disabling the verification as part of the pass pipeline and just do the manual call to the verifier on loading?

Fri, May 12, 8:39 PM
mehdi_amini added a comment to D33151: ThinLTO: Verify bitcode before lauching the ThinLTOCodeGenerator..

The codegen-only path also does not exercise the cross-module importing.

Fri, May 12, 2:31 PM
mehdi_amini added inline comments to D33151: ThinLTO: Verify bitcode before lauching the ThinLTOCodeGenerator..
Fri, May 12, 2:08 PM
mehdi_amini accepted D33140: LTO: Don't verify modules twice in verifyMergedModuleOnce.

LGTM

Fri, May 12, 10:34 AM

Thu, May 11

mehdi_amini added inline comments to D32803: [LTO] Print time-passes information at conclusion of LTO codegen.
Thu, May 11, 10:39 AM

Wed, May 10

mehdi_amini accepted D33030: [libcxxabi] Align unwindHeader on a double-word boundary .

If field unwindHeader is annotated with the aligned attribute, both the field and struct cxa_exception are aligned. As a result, the exception object that follows cxa_exception is aligned too.

If we annotate struct cxa_exception with the attribute instead of annotating the field, the test case segfaults. It seems that this approach doesn't work because several places in cxa_exception.cpp assume the exception object immediately follows field unwindHeader (there are should be no paddings at the end of cxa_exception).

Wed, May 10, 5:13 PM
mehdi_amini added a comment to D33030: [libcxxabi] Align unwindHeader on a double-word boundary .

Something still isn't clear to me: the issue IIUC is not with the unwindHeader itself, but with the misaligned thrown object that is allocated right after the __cxa_exception itself. Isn't it?

Wed, May 10, 10:26 AM

Tue, May 9

mehdi_amini accepted D32550: Supress all uses of LLVM_END_WITH_NULL.
Tue, May 9, 8:12 AM
mehdi_amini accepted D32541: Supress all uses of LLVM_END_WITH_NULL.

LGTM (provided you build/tested clang)

Tue, May 9, 8:12 AM

Fri, May 5

mehdi_amini added a comment to D21723: [RFC] Enhance synchscope representation.

@pcc do you mind looking at the bitcode part? (and more if you feel like it).

Fri, May 5, 1:43 PM
mehdi_amini added a reviewer for D21723: [RFC] Enhance synchscope representation: pcc.
Fri, May 5, 1:43 PM
mehdi_amini accepted D32878: [Analysis] Print out unreachable loops.

LGTM

Fri, May 5, 10:40 AM

Thu, May 4

mehdi_amini committed rL302172: Add markup for libc++ dylib availability.
Add markup for libc++ dylib availability
Thu, May 4, 10:24 AM
mehdi_amini closed D31739: Add markup for libc++ dylib availability by committing rL302172: Add markup for libc++ dylib availability.
Thu, May 4, 10:22 AM

Wed, May 3

mehdi_amini added inline comments to D32689: DEF: migrate def parser from LLD to LLVM.
Wed, May 3, 4:26 PM
mehdi_amini added a comment to D32721: Accept archive files with no symbol table instad of warning on them..

I personally think *not* warn is a terrible thing to do when there is a configuration issue. Erroring is annoying, but warning should be intended in such cases!

Wed, May 3, 4:23 PM

Mon, May 1

mehdi_amini added inline comments to D32689: DEF: migrate def parser from LLD to LLVM.
Mon, May 1, 9:38 AM

Wed, Apr 26

mehdi_amini added a comment to D32401: [Devirtualization] insert placement new barrier with -O0.

I tend to agree with @rjmccall on the principle. Howerever:

Wed, Apr 26, 1:02 PM
mehdi_amini added inline comments to D32140: Global code motion of congruent computations.
Wed, Apr 26, 12:10 PM
mehdi_amini added a comment to D32544: LTO: Mark undefined module inline asm symbols as visible outside of ThinLTO..

Won't this disable *linker* dead-stripping?
I don't understand the motivation for this change right now?

Wed, Apr 26, 12:08 PM
mehdi_amini added a comment to D32541: Supress all uses of LLVM_END_WITH_NULL.

Note: I also have a patch to apply to clang because of the API chagne. What's the policy for cross-repo commits?

Wed, Apr 26, 12:05 PM

Apr 23 2017

mehdi_amini added a comment to D32401: [Devirtualization] insert placement new barrier with -O0.

To not break LTO with different optimizations levels, we should insert the barrier regardles of optimization level.

Apr 23 2017, 1:51 PM

Apr 22 2017

mehdi_amini accepted D32393: [ThinLTO/Summary] Rename anonymous globals as last action in the per-TU -O0 pipeline.

LGTM.

Apr 22 2017, 9:57 PM

Apr 21 2017

mehdi_amini added inline comments to D32362: Update Jenkins Build.py to check and upgrade svn version in working dir as necessary..
Apr 21 2017, 3:44 PM · Restricted Project
mehdi_amini added inline comments to D32362: Update Jenkins Build.py to check and upgrade svn version in working dir as necessary..
Apr 21 2017, 1:17 PM · Restricted Project
mehdi_amini added inline comments to D32362: Update Jenkins Build.py to check and upgrade svn version in working dir as necessary..
Apr 21 2017, 1:17 PM · Restricted Project
mehdi_amini added a comment to D31739: Add markup for libc++ dylib availability.

@mclow.lists you mentioned on IRC you may have some suggestions to make this less noisy? Do you still plan to review?

Apr 21 2017, 1:04 PM
mehdi_amini added a comment to D31739: Add markup for libc++ dylib availability.

@mclow.lists you mentioned on IRC you may have some suggestions to make this less noisy? Do you still plan to review?

Apr 21 2017, 11:17 AM
mehdi_amini committed rL300996: Add a -noinstall option to the build.py script to allow building only..
Add a -noinstall option to the build.py script to allow building only.
Apr 21 2017, 9:29 AM

Apr 20 2017

mehdi_amini updated the diff for D31739: Add markup for libc++ dylib availability.

Address comments from @jroelofs and @arphaman

Apr 20 2017, 10:49 PM
mehdi_amini added inline comments to D31739: Add markup for libc++ dylib availability.
Apr 20 2017, 10:48 PM
mehdi_amini added inline comments to D31990: limit to 2 parallel links when using thinlto.
Apr 20 2017, 7:26 PM
mehdi_amini added inline comments to D32061: [wip] Bitcode: Write the irsymtab to disk..
Apr 20 2017, 3:48 PM
mehdi_amini added a comment to D31990: limit to 2 parallel links when using thinlto.

Sure, still LGTM!

Apr 20 2017, 11:46 AM

Apr 18 2017

mehdi_amini added inline comments to D32061: [wip] Bitcode: Write the irsymtab to disk..
Apr 18 2017, 6:35 PM
mehdi_amini added inline comments to D32061: [wip] Bitcode: Write the irsymtab to disk..
Apr 18 2017, 4:59 PM
mehdi_amini added inline comments to D32061: [wip] Bitcode: Write the irsymtab to disk..
Apr 18 2017, 4:32 PM
mehdi_amini added a comment to D21723: [RFC] Enhance synchscope representation.
  • Emit target specific tokens instead of integers in textual representation of llvm ir (similar to calling conventions)
  • Add bitcode test

    Mehdi, did you have something like this in mind?
Apr 18 2017, 4:28 PM

Apr 16 2017

mehdi_amini added a comment to D31739: Add markup for libc++ dylib availability.

Ping?

Apr 16 2017, 12:08 AM

Apr 15 2017

mehdi_amini accepted D30879: Distinguish between code pointer size and DataLayout::getPointerSize() in DWARF info generation .

LGTM

Apr 15 2017, 11:59 PM

Apr 13 2017

mehdi_amini added inline comments to D30879: Distinguish between code pointer size and DataLayout::getPointerSize() in DWARF info generation .
Apr 13 2017, 12:52 AM
mehdi_amini added a comment to D31167: Use FPContractModeKind universally.

I believe considering the goal of moving to using per-instruction FMF and kills the global backend option, this leads to a bitcode upgrade issue: OpenCL (or other) bitcode that were generated bitcode don't have the right FMF and will be upgraded conservatively.
Performance regression when upgrading bitcode are to be expected in general, so it is not a bug.
To recover, an option for an OpenCL backend would be to add a pass that set the expected FMF everywhere after bitcode upgrade.

Apr 13 2017, 12:41 AM
mehdi_amini added a comment to D31990: limit to 2 parallel links when using thinlto.

LGTM if you can avoid the warning when using something else than Ninja.

Apr 13 2017, 12:11 AM

Apr 10 2017

mehdi_amini added inline comments to D31898: Introduce libLTO C APIs to target the "resolution-based" new LTO API.
Apr 10 2017, 3:51 PM
mehdi_amini added a comment to D31898: Introduce libLTO C APIs to target the "resolution-based" new LTO API.

Thanks, I'll address all these.

Apr 10 2017, 12:17 PM
mehdi_amini created D31898: Introduce libLTO C APIs to target the "resolution-based" new LTO API.
Apr 10 2017, 10:42 AM

Apr 9 2017

mehdi_amini requested changes to D31866: Keep NDEBUG out of header.
Apr 9 2017, 2:24 PM

Apr 8 2017

mehdi_amini committed rL299814: Reorganize libLTO C API header lto.h (NFC).
Reorganize libLTO C API header lto.h (NFC)
Apr 8 2017, 12:33 PM

Apr 6 2017

mehdi_amini reopened D31070: Turn some C-style vararg into variadic templates.

reverted in r299702: the examples aren't updated: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/9023/steps/build/logs/stdio

Apr 6 2017, 1:37 PM
mehdi_amini committed rL299702: Revert "Turn some C-style vararg into variadic templates".
Revert "Turn some C-style vararg into variadic templates"
Apr 6 2017, 1:36 PM
mehdi_amini committed rL299699: Turn some C-style vararg into variadic templates.
Turn some C-style vararg into variadic templates
Apr 6 2017, 1:22 PM
mehdi_amini closed D31070: Turn some C-style vararg into variadic templates by committing rL299699: Turn some C-style vararg into variadic templates.
Apr 6 2017, 1:22 PM
mehdi_amini added a comment to D31070: Turn some C-style vararg into variadic templates.

clang-formatted and committed as r299699

Apr 6 2017, 1:22 PM
mehdi_amini added a comment to D31070: Turn some C-style vararg into variadic templates.

Can you rebase? I promise I'll apply it quickly after :)

Apr 6 2017, 9:13 AM
mehdi_amini committed rL299656: Revert "Restore Missing awk regex tests. Thanks to dexonsmith for noticing, and….
Revert "Restore Missing awk regex tests. Thanks to dexonsmith for noticing, and…
Apr 6 2017, 9:09 AM
mehdi_amini added a comment to D16541: [libc++] Renable test/std/re/re.alg/re.alg.match/awk.pass.cpp.

This bot is broken: http://green.lab.llvm.org/green/job/libcxx_master_cmake_32/61/

Apr 6 2017, 8:33 AM

Apr 5 2017

mehdi_amini created D31739: Add markup for libc++ dylib availability.
Apr 5 2017, 8:04 PM
mehdi_amini committed rL299607: Fix remote test execution in lit.
Fix remote test execution in lit
Apr 5 2017, 6:27 PM
mehdi_amini committed rL299606: Use alternate string layout for ARMv7k.
Use alternate string layout for ARMv7k
Apr 5 2017, 6:23 PM
mehdi_amini added a comment to D31735: ThinLTOBitcodeWriter: delete comdats if their keys are renamed.

COFF requires that every comdat contain a symbol with the same name as the comdat.

Apr 5 2017, 6:00 PM
mehdi_amini added inline comments to D31733: [IR] Put the Use list waymarking bits in the bit positions documentation says they are using.
Apr 5 2017, 4:56 PM
mehdi_amini accepted D31727: [Bugpoint] Use `unique_ptr` correctly..

LGTM with a const ref
(and please don't use the full log as a commit message, keep it simple and descriptive).

Apr 5 2017, 3:12 PM

Apr 4 2017

mehdi_amini accepted D31681: [ExecutionDepsFix] Don't recurse over the CFG.
Apr 4 2017, 3:26 PM

Apr 3 2017

mehdi_amini committed rL299414: Uses quote to include cxxabi.h to make sure the local one is included.
Uses quote to include cxxabi.h to make sure the local one is included
Apr 3 2017, 10:51 PM
mehdi_amini added a comment to D31632: ThinLTOBitcodeWriter: handle aliases first in filterModule.

I see the clang test. We try to keep our testing at the IR level though. Is there anything specific that prevents it in this case?

Apr 3 2017, 5:18 PM
mehdi_amini added a comment to D31632: ThinLTOBitcodeWriter: handle aliases first in filterModule.

Do you have a test case?

Apr 3 2017, 5:15 PM

Mar 31 2017

mehdi_amini accepted D31563: Bitcode: Remove reader support for MODULE_CODE_PURGEVALS..

I trust you on checking the branching point for 3.0 ;)

Mar 31 2017, 8:37 PM

Mar 30 2017

mehdi_amini accepted D31508: [ThinLTO] Set up lto::Config properly for codegen in ThinLTO backends.

LGTM

Mar 30 2017, 4:47 PM
mehdi_amini added a comment to D31364: LTO: Reduce memory consumption by creating an in-memory symbol table for InputFiles. NFCI..

I'm fine with the approach. I didn't review in great details but I can trust @rafael.

Mar 30 2017, 11:59 AM

Mar 29 2017

mehdi_amini committed rL299057: libc++ testing: fix invalid python syntax.
libc++ testing: fix invalid python syntax
Mar 29 2017, 10:34 PM
mehdi_amini committed rL299056: libc++ testing: fix assertion around `use_system_cxx_lib`.
libc++ testing: fix assertion around `use_system_cxx_lib`
Mar 29 2017, 10:19 PM
mehdi_amini committed rL299055: libc++ config testing: `use_system_cxx_lib` can be a bool.
libc++ config testing: `use_system_cxx_lib` can be a bool
Mar 29 2017, 10:03 PM
mehdi_amini closed D17469: [libcxx] Add deployment knobs to tests (for Apple platforms).

Was committed a while back in r297798

Mar 29 2017, 10:01 PM
mehdi_amini committed rL299054: Reexport operator new / delete from libc++abi.
Reexport operator new / delete from libc++abi
Mar 29 2017, 9:59 PM
mehdi_amini closed D30765: Reexport operator new / delete from libc++abi by committing rL299054: Reexport operator new / delete from libc++abi.
Mar 29 2017, 9:59 PM
mehdi_amini closed D31272: Do not pass an explicit reexported symbol list when building libc++ dylib if also defining new/delete.

r299052 ; let me know if you want to improve the comment in any way.

Mar 29 2017, 9:58 PM