Page MenuHomePhabricator

supergrecko (Mats Larsen)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 26 2021, 12:34 PM (18 w, 5 d)

Recent Activity

Wed, Jul 28

supergrecko committed rG981233900597: [NFC] Test commit to verify commit access (authored by supergrecko).
[NFC] Test commit to verify commit access
Wed, Jul 28, 9:55 AM

Tue, Jul 27

supergrecko abandoned D103267: [docs] Mention the new LLVM-C interface for the new Pass Manager in the release notes.

Hi Mats. Looks like this was superseded by https://reviews.llvm.org/D106764. Is that right? If so we can close this.

Tue, Jul 27, 2:44 AM · Restricted Project

Sun, Jul 25

supergrecko requested review of D106764: [docs] Update release notes with all LLVM-C API changes.
Sun, Jul 25, 6:06 AM · Restricted Project

Jun 9 2021

supergrecko added a comment to D103267: [docs] Mention the new LLVM-C interface for the new Pass Manager in the release notes.

Ping

Jun 9 2021, 8:02 AM · Restricted Project

May 27 2021

supergrecko added a comment to D103267: [docs] Mention the new LLVM-C interface for the new Pass Manager in the release notes.

I do not have commit access, so it would be appreciated if somebody could land this for me.

May 27 2021, 9:56 AM · Restricted Project
supergrecko requested review of D103267: [docs] Mention the new LLVM-C interface for the new Pass Manager in the release notes.
May 27 2021, 9:55 AM · Restricted Project

May 21 2021

supergrecko requested review of D102957: [Orc][C-bindings] remove LLVMOrcJITTargetMachineBuilderDisposeTargetTriple in favor of LLVMDisposeMessage.
May 21 2021, 4:32 PM · Restricted Project
supergrecko added a comment to D102710: [NFC][test] replace empty returns with GTEST_SKIP.

I do not have commit access so it'd be great if somebody could land this on my behalf.

May 21 2021, 3:00 AM · Restricted Project

May 19 2021

supergrecko added a comment to D102710: [NFC][test] replace empty returns with GTEST_SKIP.

GTEST_SKIP() may be called in OrcCAPITestBase::SetUp() so that checks can be removed in every separate test.

May 19 2021, 2:29 PM · Restricted Project
supergrecko updated the diff for D102710: [NFC][test] replace empty returns with GTEST_SKIP.

[NFC][test] replace if clauses in all tests with GTEST_SKIP() in SetUp

May 19 2021, 2:26 PM · Restricted Project

May 18 2021

supergrecko requested review of D102710: [NFC][test] replace empty returns with GTEST_SKIP.
May 18 2021, 12:13 PM · Restricted Project

May 17 2021

supergrecko added a comment to D102136: [NewPM] Add C bindings for new pass manager.

It looks like my local branch was a bit behind tip of tree when I started working on it which meant that https://reviews.llvm.org/rG34a8a437bf20e0a340c19ed1fdb9cca584d43da1 wasn't checked into my local branch.

May 17 2021, 12:27 PM · Restricted Project

May 15 2021

supergrecko updated the diff for D102136: [NewPM] Add C bindings for new pass manager.

[NewPM] Remove documentation comments for parameters that were refactored into LLVMPassBuilderOptionsRef

May 15 2021, 8:18 AM · Restricted Project
supergrecko added a comment to D102136: [NewPM] Add C bindings for new pass manager.

Found a tiny mistake in one of the comments, will fix.

May 15 2021, 8:16 AM · Restricted Project

May 14 2021

supergrecko added a comment to D102136: [NewPM] Add C bindings for new pass manager.

looks good aside from one super duper nit
do you have commit permission?

May 14 2021, 12:03 PM · Restricted Project
supergrecko updated the diff for D102136: [NewPM] Add C bindings for new pass manager.

[NewPM] Re-arrange order of arguments for LLVMRunPasses

May 14 2021, 11:59 AM · Restricted Project
supergrecko updated the diff for D102136: [NewPM] Add C bindings for new pass manager.

[NewPM] Abstract PipelineTuningOptions away into LLVMPassBuilderOptions

May 14 2021, 11:45 AM · Restricted Project

May 13 2021

supergrecko added a comment to D102136: [NewPM] Add C bindings for new pass manager.

looks pretty good, just one nit

May 13 2021, 4:35 PM · Restricted Project
supergrecko updated the diff for D102136: [NewPM] Add C bindings for new pass manager.

[NewPM] Extract LLVMRunPasses options into LLVMPassBuilderOptionsRef

May 13 2021, 4:30 PM · Restricted Project
supergrecko updated the summary of D102136: [NewPM] Add C bindings for new pass manager.
May 13 2021, 7:55 AM · Restricted Project
supergrecko added a comment to D102136: [NewPM] Add C bindings for new pass manager.

Okay so I had some troubles with arc, but I think I finally got it right. I've now refactored LLVMRunPassBuilder into LLVMRunPasses with the changes we went through earlier and I've added the StandardInstrumentations inside of that function.

May 13 2021, 5:11 AM · Restricted Project
supergrecko updated the diff for D102136: [NewPM] Add C bindings for new pass manager.

[NewPM][C-bindings] Keep PassBuilder private to LLVMRunPasses and enable StandardInstrumentation

May 13 2021, 5:09 AM · Restricted Project
supergrecko updated the diff for D102136: [NewPM] Add C bindings for new pass manager.

[NewPM][C-bindings] Keep PassBuilder private to LLVMRunPasses and enable StandardInstrumentation

May 13 2021, 5:02 AM · Restricted Project
supergrecko updated the diff for D102136: [NewPM] Add C bindings for new pass manager.

[NewPM][C-bindings] Keep PassBuilder private to LLVMRunPasses and enable StandardInstrumentations

May 13 2021, 4:50 AM · Restricted Project

May 11 2021

supergrecko added a comment to D102136: [NewPM] Add C bindings for new pass manager.

The weird quirk of disposing the PassBuilder when it's passed to LLVMRunPassBuilder and the awkward naming of LLVMRunPassBuilder are easily resolved if we combine the two, since PassBuilder will be internal to that one function, and LLVMRunPasses seems nice

LLVMRunPasses would be nice and descriptive for its task. I'm not too sure I understood what you mean by "the quirk of disposing the PassBuilder (...)"; would it be preferable to have the client dispose it themselves? If the PassBuilder is re-usable after a run it would probably not make sense to get rid of it, but you know more about that than I do. Let me know what you think is the correct decision here.

It's weird that clients only sometimes manually dispose of the PassBuilder. For example, if a language with destructors were to wrap LLVMPassBuilderRef, there'd be weird logic in the destructor on when to call LLVMDisposePassBuilder. I'm not worried about supporting reusing a PassBuilder.
IMO we should only have the creation/setup of options (in this case PTO, maybe some other things like DebugLogging and TargetMachine), then pass those options and the pass pipeline string and the module to a LLVMRunPasses. This simplifies everything and we don't have to worry about any LLVMPassBuilderRefs since we won't be exposing it.

May 11 2021, 5:44 AM · Restricted Project

May 10 2021

supergrecko added a comment to D102136: [NewPM] Add C bindings for new pass manager.

The weird quirk of disposing the PassBuilder when it's passed to LLVMRunPassBuilder and the awkward naming of LLVMRunPassBuilder are easily resolved if we combine the two, since PassBuilder will be internal to that one function, and LLVMRunPasses seems nice

May 10 2021, 2:42 PM · Restricted Project

May 9 2021

supergrecko added a comment to D102136: [NewPM] Add C bindings for new pass manager.

I think you can build PassBuilder with an uninitialized PassInstrumentationCallbacks object and retrieve it via PassBuilder::getPassInstrumentationCallbacks before populating it with StandardInstrumentation when FunctionAnalysisManager is available (getPassInstrumentationCallbacks is marked const but the returned pointer is not so I'm not complaining :-P. Plus, the comment for getPassInstrumentationCallbacks also hints this usage).

That sounds like the solution I was looking for. Excellent, thank you!

May 9 2021, 2:46 PM · Restricted Project
supergrecko added a comment to D102136: [NewPM] Add C bindings for new pass manager.

Not quite sure how we want to register the StandardInstrumentations here... Right now it's not registering any PassInstrumentationCallbacks at all because I'm not too sure how we wanted to handle that either.

May 9 2021, 11:09 AM · Restricted Project
supergrecko requested review of D102136: [NewPM] Add C bindings for new pass manager.
May 9 2021, 11:02 AM · Restricted Project

Apr 14 2021

supergrecko requested review of D100506: [Test][ORC] Add tests for parts of the LLVM-C OrcJIT v2 API.
Apr 14 2021, 1:34 PM · Restricted Project

Mar 28 2021

supergrecko requested review of D99478: [Orc] Fix mismatched C-API header function signatures.
Mar 28 2021, 4:24 PM · Restricted Project

Mar 26 2021

supergrecko abandoned D99440: [X86][AVX] combineHorizOpWithShuffle - improve SHUFFLE(HOP(LOSUBVECTOR(X),HISUBVECTOR(X))) folding.

This was an accidental push to LLVM reviews and it should be ignored as this is patch was already merged into upstream by a different contributor.

Mar 26 2021, 1:16 PM · Restricted Project
supergrecko added a comment to D99440: [X86][AVX] combineHorizOpWithShuffle - improve SHUFFLE(HOP(LOSUBVECTOR(X),HISUBVECTOR(X))) folding.

I'm completely new to arcanist and everything and it seems I've used the wrong commands here. This is the latest commit to main and is none of my work. Is there a way to undo this?

Mar 26 2021, 1:14 PM · Restricted Project
supergrecko requested review of D99440: [X86][AVX] combineHorizOpWithShuffle - improve SHUFFLE(HOP(LOSUBVECTOR(X),HISUBVECTOR(X))) folding.
Mar 26 2021, 1:12 PM · Restricted Project