Page MenuHomePhabricator

holland11 (Patrick Holland)
User

Projects

User does not belong to any projects.

User Details

User Since
May 18 2021, 11:47 AM (97 w, 2 d)

Recent Activity

Jun 6 2022

holland11 added a comment to D127083: [MCA] Introducing incremental SourceMgr and resumable pipeline.

Out of curiosity, what is one of the motivating use cases for this?

Jun 6 2022, 11:36 AM · Restricted Project, Restricted Project

Mar 13 2022

holland11 added a comment to rG3e12e83ea4e2: [MCA] Removed unused variable..

I didn't catch this unused variable when I pushed https://reviews.llvm.org/D121508. I'm not sure if this was the correct way to handle it though (making a separate commit to remove the var and not making a diff for it) so if I should have handled it in a different way, please let me know.

Mar 13 2022, 10:00 PM · Restricted Project
holland11 committed rG3e12e83ea4e2: [MCA] Removed unused variable. (authored by holland11).
[MCA] Removed unused variable.
Mar 13 2022, 9:56 PM · Restricted Project
holland11 committed rG55cedf9cc570: [MCA] Moved six instruction flags from InstrDesc to InstructionBase. (authored by holland11).
[MCA] Moved six instruction flags from InstrDesc to InstructionBase.
Mar 13 2022, 9:22 PM · Restricted Project
holland11 closed D121508: [MCA] Moving six instruction flags out of InstrDesc and into InstructionBase..
Mar 13 2022, 9:22 PM · Restricted Project, Restricted Project
holland11 updated the diff for D121508: [MCA] Moving six instruction flags out of InstrDesc and into InstructionBase..

Made the changes that were suggested by Andrea.

Mar 13 2022, 2:21 PM · Restricted Project, Restricted Project

Mar 12 2022

holland11 added a comment to D121508: [MCA] Moving six instruction flags out of InstrDesc and into InstructionBase..

Just a couple of minor comments. Otherwise, patch looks good to me.

Thanks!

Mar 12 2022, 11:46 AM · Restricted Project, Restricted Project
holland11 abandoned D117451: [MCA] Proposing the InstrPostProcess:modifyInstrDesc() method..

Sounds good. I'll refer back to this if/when I start working on it again. Thank you!

Mar 12 2022, 11:33 AM · Restricted Project, Restricted Project

Mar 11 2022

holland11 updated the summary of D121508: [MCA] Moving six instruction flags out of InstrDesc and into InstructionBase..
Mar 11 2022, 8:04 PM · Restricted Project, Restricted Project
holland11 updated the summary of D121508: [MCA] Moving six instruction flags out of InstrDesc and into InstructionBase..
Mar 11 2022, 7:59 PM · Restricted Project, Restricted Project
holland11 requested review of D121508: [MCA] Moving six instruction flags out of InstrDesc and into InstructionBase..
Mar 11 2022, 7:58 PM · Restricted Project, Restricted Project
Herald added a project to D117451: [MCA] Proposing the InstrPostProcess:modifyInstrDesc() method.: Restricted Project.

I really like your ideas and I played around with a few different ways to implement variations of them. To do it properly would likely be quite disruptive which isn't necessarily a bad thing, but it would require thorough testing to make sure there were no bugs or flaws in my logic. The internal testing that already exists would be very useful in making sure that I didn't break mca's existing behaviour, but those tests wouldn't help me verify that CustomBehaviour and InstrPostProcess would still be modifying things in the expected and correct way. To do that, I would need to write a bunch of my own tests where I implement modifications for a target with CB & IPP and then ensure that the new mca simulations behave as intended and expected.

Mar 11 2022, 7:01 PM · Restricted Project, Restricted Project

Feb 14 2022

holland11 added a comment to D117451: [MCA] Proposing the InstrPostProcess:modifyInstrDesc() method..

Thank you for that detailed suggestion! This was somewhat similar to one of the potential solutions that I had in mind, but I was hesitant to work on it because of how much would need to be modified around the rest of the mca pipeline to get it to work. I may try implementing something similar, but a bit less disruptive. What I do may result in some of the (potentially scary) flexibility of IPP/CB remaining, but the ability to modify InstrDesc should be much more rigid. I'll see what you think once I've been able to implement and post it here for your review.

Feb 14 2022, 2:00 PM · Restricted Project, Restricted Project

Feb 9 2022

holland11 added a comment to D117451: [MCA] Proposing the InstrPostProcess:modifyInstrDesc() method..

Hey Patrick,

Are there any updates on this patch?

Feb 9 2022, 2:27 PM · Restricted Project, Restricted Project

Jan 17 2022

holland11 added a comment to D117451: [MCA] Proposing the InstrPostProcess:modifyInstrDesc() method..

Okay, that makes a lot of sense.

Jan 17 2022, 7:02 PM · Restricted Project, Restricted Project

Jan 16 2022

holland11 added a comment to D117451: [MCA] Proposing the InstrPostProcess:modifyInstrDesc() method..

In the cases where Modified is true (and it's not variadic / variant), should we still cache InstrDesc by the opcode?
Or more specifically, can modifyInstrDesc create different changes for two separate MCInst-s that has the same opcode? (e.g. I'm only changing the MayStore flag in an ADD32 MCInst if it's preceded by a LD16, given the fact that IPP can have state)
Because if that's true, I think the Descriptors cache here will return a stale / incorrect InstrDesc.

I understand that in your motivating example ("...where we wanted to set the RetireOOO flag for all of our targets, but we didn't want to have to modify the tablegen for every single one of those targets...") you're probably making homogeneous changes across all MCInst-s that have the same opcode but I feel like there needs to be some clarifications on the model of modifyInstrDesc.

Jan 16 2022, 11:36 PM · Restricted Project, Restricted Project
holland11 updated the diff for D117451: [MCA] Proposing the InstrPostProcess:modifyInstrDesc() method..

Fixed some typos in my comments.

Jan 16 2022, 9:12 PM · Restricted Project, Restricted Project
holland11 updated the diff for D117451: [MCA] Proposing the InstrPostProcess:modifyInstrDesc() method..
Jan 16 2022, 9:10 PM · Restricted Project, Restricted Project
holland11 requested review of D117451: [MCA] Proposing the InstrPostProcess:modifyInstrDesc() method..
Jan 16 2022, 9:07 PM · Restricted Project, Restricted Project

Jan 11 2022

holland11 committed rG85e6e748d426: [MCA] Switching from conservatively guessing which instructions are (authored by holland11).
[MCA] Switching from conservatively guessing which instructions are
Jan 11 2022, 1:51 PM
holland11 closed D116779: [llvm-mca] [LSUnit] Proposal for declaring memory-barrier instructions explicitly rather than making conservative assumptions..
Jan 11 2022, 1:51 PM · Restricted Project

Jan 7 2022

holland11 updated the diff for D116779: [llvm-mca] [LSUnit] Proposal for declaring memory-barrier instructions explicitly rather than making conservative assumptions..

@andreadb Thanks for the feedback / suggestions. They all made sense and I implemented each of them. Let me know if they look how you expected them to.

Jan 7 2022, 11:41 PM · Restricted Project

Jan 6 2022

holland11 updated the summary of D116779: [llvm-mca] [LSUnit] Proposal for declaring memory-barrier instructions explicitly rather than making conservative assumptions..
Jan 6 2022, 5:33 PM · Restricted Project
holland11 requested review of D116779: [llvm-mca] [LSUnit] Proposal for declaring memory-barrier instructions explicitly rather than making conservative assumptions..
Jan 6 2022, 5:33 PM · Restricted Project

Aug 25 2021

holland11 committed rGfe01014faa33: [MCA] Moved View.h and View.cpp from /tools/llvm-mca/ to /lib/MCA/. (authored by holland11).
[MCA] Moved View.h and View.cpp from /tools/llvm-mca/ to /lib/MCA/.
Aug 25 2021, 12:13 PM
holland11 closed D108520: [MCA] Moving View.h and View.cpp from /tools/llvm-mca/Views/ to /lib/MCA/ and /include/llvm/MCA/..
Aug 25 2021, 12:13 PM · Restricted Project

Aug 24 2021

holland11 committed rGe4ebfb5786a1: [MCA] Adding an AMDGPUCustomBehaviour implementation. (authored by holland11).
[MCA] Adding an AMDGPUCustomBehaviour implementation.
Aug 24 2021, 1:34 PM
holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

Same. I am happy for you to commit your patch.

Aug 24 2021, 10:34 AM · Restricted Project

Aug 23 2021

holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

@andreadb @foad Sorry for coming back to this so late. To recap everything that happened:

Aug 23 2021, 4:04 PM · Restricted Project
holland11 added a comment to D108520: [MCA] Moving View.h and View.cpp from /tools/llvm-mca/Views/ to /lib/MCA/ and /include/llvm/MCA/..

Thanks for the feedback. All your suggestions make a lot of sense and I went ahead and implemented them. I went with a getStartViews(), getPostInstrInfoViews(), and getEndViews() since the TimelineView comes at the end anyways. Updated the docs snippet to be more accurate to those 3 variants and also to clarify what you mentioned. Let me know if there's any other feedback that you have. Happy to continue making any modifications.

Aug 23 2021, 10:59 AM · Restricted Project
holland11 updated the diff for D108520: [MCA] Moving View.h and View.cpp from /tools/llvm-mca/Views/ to /lib/MCA/ and /include/llvm/MCA/..

Implemented Andrea's suggestions.

Aug 23 2021, 10:57 AM · Restricted Project

Aug 22 2021

holland11 updated the summary of D108520: [MCA] Moving View.h and View.cpp from /tools/llvm-mca/Views/ to /lib/MCA/ and /include/llvm/MCA/..
Aug 22 2021, 10:43 AM · Restricted Project
holland11 updated the diff for D108520: [MCA] Moving View.h and View.cpp from /tools/llvm-mca/Views/ to /lib/MCA/ and /include/llvm/MCA/..

Fixed a typo in one of the comments.

Aug 22 2021, 10:41 AM · Restricted Project
holland11 requested review of D108520: [MCA] Moving View.h and View.cpp from /tools/llvm-mca/Views/ to /lib/MCA/ and /include/llvm/MCA/..
Aug 22 2021, 10:33 AM · Restricted Project

Aug 20 2021

holland11 added a comment to D108443: [MCA] Fixing bug causing LSUnit to not be notified when a 0 latency instruction finishes executing..

Out of curiosity, how would creating a lit test work for this bug? The bug itself (under the input file and scheduling model that I have with my downstream target) causes mca to never terminate. Does lit have a default timeout so that we could just give the test an input that would cause this infinite run-time and then make sure that mca actually terminates without hitting the timeout?

Aug 20 2021, 10:58 AM · Restricted Project
holland11 committed rG3b3c01348be0: [MCA] Fixing bug that was causing LSUnit not to realize an instruction finished… (authored by holland11).
[MCA] Fixing bug that was causing LSUnit not to realize an instruction finished…
Aug 20 2021, 10:34 AM
holland11 closed D108443: [MCA] Fixing bug causing LSUnit to not be notified when a 0 latency instruction finishes executing..
Aug 20 2021, 10:34 AM · Restricted Project
holland11 added a comment to D108443: [MCA] Fixing bug causing LSUnit to not be notified when a 0 latency instruction finishes executing..

Yeah, it's on a downstream target and a custom scheduling model where I've made some changes to be more accurate within llvm-mca. I don't think that it would be likely to find a proper instruction within an upstream target to recreate this bug. But I do still think that it is something worth supporting.

Aug 20 2021, 10:27 AM · Restricted Project

Aug 19 2021

holland11 updated the summary of D108443: [MCA] Fixing bug causing LSUnit to not be notified when a 0 latency instruction finishes executing..
Aug 19 2021, 8:32 PM · Restricted Project
holland11 requested review of D108443: [MCA] Fixing bug causing LSUnit to not be notified when a 0 latency instruction finishes executing..
Aug 19 2021, 8:31 PM · Restricted Project

Jul 28 2021

holland11 committed rGdbed061bf13b: [MCA] Moving the target specific CustomBehaviour impl. from /tools/llvm-mca/ to… (authored by holland11).
[MCA] Moving the target specific CustomBehaviour impl. from /tools/llvm-mca/ to…
Jul 28 2021, 11:24 AM
holland11 closed D106775: [MCA] Moving the target specific CustomBehaviour impl. from /tools/llvm-mca/ to /lib/Target/..
Jul 28 2021, 11:23 AM · Restricted Project

Jul 27 2021

holland11 added a comment to D106775: [MCA] Moving the target specific CustomBehaviour impl. from /tools/llvm-mca/ to /lib/Target/..

Have you looked at how per-target stuff of llvm-mca is handled?
Does that also need similar changes? If not, perhaps this can be changed to more closely mimic that instead?

Jul 27 2021, 1:37 PM · Restricted Project
holland11 updated the diff for D106775: [MCA] Moving the target specific CustomBehaviour impl. from /tools/llvm-mca/ to /lib/Target/..

I have just removed the AMDGPUTargetMCA line from the AMDGPUCodeGen cmake file. I was originally just following the patterns that I saw from the other folders and classes in that directory and then afterwards I went through and tried to remove things that didn't seem necessary. I guess I missed that one.

Jul 27 2021, 1:11 PM · Restricted Project

Jul 26 2021

holland11 updated the diff for D106775: [MCA] Moving the target specific CustomBehaviour impl. from /tools/llvm-mca/ to /lib/Target/..
Jul 26 2021, 3:20 AM · Restricted Project

Jul 25 2021

holland11 updated the summary of D106775: [MCA] Moving the target specific CustomBehaviour impl. from /tools/llvm-mca/ to /lib/Target/..
Jul 25 2021, 2:46 PM · Restricted Project
holland11 requested review of D106775: [MCA] Moving the target specific CustomBehaviour impl. from /tools/llvm-mca/ to /lib/Target/..
Jul 25 2021, 2:43 PM · Restricted Project

Jul 22 2021

holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

@andreadb @tstellar Appreciate both of your inputs. I have been working on implementing that setup. Am currently in the process of testing it with the linux shared lib build. If it is working, I'll first submit a patch with the CustomBehaviour changes only (this includes additions to multiple cmake config files to get the CustomBehaviour and InstrPostProcess classes initialized and registered). If/once that's approved and pushed, I'll re-submit this patch but with the new directory structure.

Jul 22 2021, 8:03 PM · Restricted Project

Jul 20 2021

holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

@tstellar @andreadb I've been thinking about the problem for a bit now and have been brainstorming different ideas and digging through the code. I just made a post on the llvm discourse to hopefully get some feedback on the issue (and some potential solutions that I've come up with). If you guys are curious or would be willing to take a look, here's the post https://llvm.discourse.group/t/need-help-deciding-how-to-access-backend-functions-from-within-a-tool/3915 .

Jul 20 2021, 4:49 PM · Restricted Project

Jul 13 2021

holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

We've run into this problem before with some unittests that reference target symbols, so having some kind of static library solution for this would be generally useful.

Jul 13 2021, 11:10 AM · Restricted Project

Jul 12 2021

holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

@holland11 Did you run make check ? The reason I had to update llvm/tools/llvm-mca/CMakeLists.txt was so that the tests pass (without it all invocations of llvm-mca failed with the 'multiple registered command line options' error.

As for a fix, you can export symbols by adding the LLVM_EXTERNAL_VISIBILITY to the function definition, but I don't know if exporting random symbols is necessarily a good idea if it's only needed for an internal tool. Is it possible to rewrite this patch to not use the symbols? Or maybe can we put these symbols into their own static library? We've run into this problem before with some unittests that reference target symbols, so having some kind of static library solution for this would be generally useful.

Jul 12 2021, 6:20 PM · Restricted Project
holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

@tstellar You suggested in your original message to add the DISABLE_LLVM_LINK_LLVM_DYLIB to the AMDGPUCustomBehaviour cmake file. This would be a very reasonable solution since, in theory, it would let most of mca still benefit from shared libs. However, when you attempted the fix, you said that to get it to work, you had to also add that flag to the llvm-mca cmake file as well.

Jul 12 2021, 12:37 PM · Restricted Project

Jul 9 2021

holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..
Jul 9 2021, 1:45 PM · Restricted Project
holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

I add to add DISABLE_LLVM_LINK_LLVM_DYLIB in two places, in llvm/tools/llvm-mca/lib/AMDGPU/CMakeLists.txt as you did in your comment, and also to the add_llvm_tool call in llvm/tools/llvm-mca/CMakeLists.txt. When I did that the tests pass.

Jul 9 2021, 12:15 PM · Restricted Project

Jul 8 2021

holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

@tstellar Would you be willing to test the fix for me? If this request is inappropriate then I can setup a VM and reproduce the error myself then test the fix, but if you're willing to test it for me, that'd be awesome.

Jul 8 2021, 2:42 PM · Restricted Project
holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

@tstellar I have been unable to reproduce the error on my machine. I checked out my repo to this commit and tried building with

cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON ../../llvm
ninja

But it built without errors. I then tried the same thing, but with -DLLVM_TARGETS_TO_BUILD="X86" to see if it was related to building without AMDGPU, but that also built without issue.

Jul 8 2021, 11:29 AM · Restricted Project

Jul 7 2021

holland11 committed rGd38b9f1f31b1: Revert "[MCA] [AMDGPU] Adding an implementation to AMDGPUCustomBehaviour for… (authored by holland11).
Revert "[MCA] [AMDGPU] Adding an implementation to AMDGPUCustomBehaviour for…
Jul 7 2021, 8:50 PM
holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

@tstellar Is it possible that it's the same issue seen https://reviews.llvm.org/D104401 ? In which case, I'd just need to move destructors into the cpp files rather than the .h files?

Jul 7 2021, 8:43 PM · Restricted Project
holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

@thakis Hey sorry for not responding quicker. Thanks for taking care of that. I actually don't even know what gn is, but I'll be looking into it so that I can understand what was happening here.

Jul 7 2021, 8:35 PM · Restricted Project
holland11 committed rGaf3baf1761bb: [MCA] [AMDGPU] Adding an implementation to AMDGPUCustomBehaviour for handling… (authored by holland11).
[MCA] [AMDGPU] Adding an implementation to AMDGPUCustomBehaviour for handling…
Jul 7 2021, 2:19 PM
holland11 closed D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..
Jul 7 2021, 2:18 PM · Restricted Project

Jul 6 2021

holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

Oh okay, sounds good. I made some changes based on your previous comment so I was just waiting to see if they were good from your perspective. I'll push this tomorrow. Thanks!

Jul 6 2021, 7:42 PM · Restricted Project
holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

@foad Any updates?

Jul 6 2021, 10:26 AM · Restricted Project

Jun 25 2021

holland11 updated the diff for D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

Removed all lines with s_waitcnt_depctr and added a comment mentioning that we do not currently handle it. Also added a comment explaining why the pseudo instructions are included in the switch statement. Also modified the formatting of one comment block per @foad 's suggestion.

Jun 25 2021, 10:28 AM · Restricted Project
holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

Please remove all mention of S_WAITCNT_DEPCTR from the patch and then I think it's good to go, thanks again!

Jun 25 2021, 10:13 AM · Restricted Project

Jun 24 2021

holland11 updated the diff for D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

Updated the previous AMDGPU mca tests and added a new one that highlights the new RetireOOO flag being set globally.

Jun 24 2021, 12:57 PM · Restricted Project
holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

... could you change this to let SchedModel = SIFullSpeedModel, RetireOOO = 1 and the same for all the other let SchedModel = ... lines? Would that still work? I think that would make it slightly easier for the next person who cut'n'pastes one of these schedmodels to create a new one, to get it right.

Jun 24 2021, 10:31 AM · Restricted Project
holland11 added a comment to D104846: [MCA] Allow unlimited cycles in the timeline view.

+1 Good idea!

Jun 24 2021, 10:09 AM · Restricted Project

Jun 23 2021

holland11 committed rG70040de32d73: [MCA][TimelineView] Fixed a bug that was causing instructions outside of the… (authored by holland11).
[MCA][TimelineView] Fixed a bug that was causing instructions outside of the…
Jun 23 2021, 3:11 PM
holland11 closed D104815: [MCA] [TimelineView] Fixing a bug (that I caused) in TimelineView.cpp that was causing instructions that execute after timeline-max-cycles to still be displayed..
Jun 23 2021, 3:11 PM · Restricted Project
holland11 requested review of D104815: [MCA] [TimelineView] Fixing a bug (that I caused) in TimelineView.cpp that was causing instructions that execute after timeline-max-cycles to still be displayed..
Jun 23 2021, 1:46 PM · Restricted Project
holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

@foad I implemented some of your suggestions and updated the diff. I did not yet remove the psuedo instruction cases and I did not yet change

else {
    switch (Inst.getOpcode()) {
    case AMDGPU::S_SENDMSG:
    case AMDGPU::S_SENDMSGHALT:
      ScoreBrackets->updateByEvent(TII, TRI, MRI, SQ_MESSAGE, Inst);
      break;
    case AMDGPU::S_MEMTIME:
    case AMDGPU::S_MEMREALTIME:
      ScoreBrackets->updateByEvent(TII, TRI, MRI, SMEM_ACCESS, Inst);
      break;
    }
Jun 23 2021, 1:26 PM · Restricted Project
holland11 updated the diff for D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

Set the RetireOOO flag globally rather than just on the s_waitcnt instructions. Also got rid of the WriteSALUOOO sched class since s_waitcnt can go back to being in the WriteSALU class.

Jun 23 2021, 1:24 PM · Restricted Project
holland11 updated the summary of D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..
Jun 23 2021, 11:19 AM · Restricted Project
holland11 updated the summary of D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..
Jun 23 2021, 10:49 AM · Restricted Project
holland11 added a comment to D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..

Thanks for doing this! Generally it seems very useful, and my only high level concern is about the way you set RetireOOO only on s_waitcnt instructions. Would it make more sense to set it for all AMDGPU instructions? I'm really not sure what effect this would have. I've never really thought about the concept of "retiring" in our sched model, since it doesn't seem to have any impact on how you should schedule instructions.

Jun 23 2021, 10:27 AM · Restricted Project

Jun 22 2021

holland11 updated the summary of D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..
Jun 22 2021, 5:36 PM · Restricted Project
holland11 updated the summary of D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..
Jun 22 2021, 5:34 PM · Restricted Project
holland11 requested review of D104730: [MCA] [AMDGPU] Adding CustomBehaviour implementation for AMDGPU..
Jun 22 2021, 11:20 AM · Restricted Project
holland11 committed rGd03736455cee: [MCA] [In-order pipeline] Fix for 0 latency instruction causing assertion to… (authored by holland11).
[MCA] [In-order pipeline] Fix for 0 latency instruction causing assertion to…
Jun 22 2021, 10:20 AM
holland11 closed D104675: [MCA] [In-order pipeline] Fix for 0 latency instruction causing assertion to fail..
Jun 22 2021, 10:20 AM · Restricted Project

Jun 21 2021

holland11 requested review of D104675: [MCA] [In-order pipeline] Fix for 0 latency instruction causing assertion to fail..
Jun 21 2021, 5:21 PM · Restricted Project

Jun 17 2021

holland11 committed rGdc11d4e6be24: [MCA] [RegisterFile] Allow for skipping Defs with RegID of 0 (rather than… (authored by holland11).
[MCA] [RegisterFile] Allow for skipping Defs with RegID of 0 (rather than…
Jun 17 2021, 11:53 AM
holland11 closed D104433: [MCA] [RegisterFile] Allow for skipping Defs with RegID of 0 rather than asserting..
Jun 17 2021, 11:53 AM · Restricted Project

Jun 16 2021

holland11 retitled D104433: [MCA] [RegisterFile] Allow for skipping Defs with RegID of 0 rather than asserting. from [MCA] [RegisterFile] Skipping Defs with RegID of 0 rather than asserting. to [MCA] [RegisterFile] Allow for skipping Defs with RegID of 0 rather than asserting..
Jun 16 2021, 7:04 PM · Restricted Project
holland11 retitled D104433: [MCA] [RegisterFile] Allow for skipping Defs with RegID of 0 rather than asserting. from [MCA] Skipping Defs with RegID of 0 rather than asserting. to [MCA] [RegisterFile] Skipping Defs with RegID of 0 rather than asserting..
Jun 16 2021, 7:03 PM · Restricted Project
holland11 requested review of D104433: [MCA] [RegisterFile] Allow for skipping Defs with RegID of 0 rather than asserting..
Jun 16 2021, 7:03 PM · Restricted Project
holland11 added a comment to D104401: [MCA] Anchoring the vtable of CustomBehaviour.

+1 Thanks for catching this!

Jun 16 2021, 11:56 AM · Restricted Project
holland11 added a comment to D104293: [AMDGPU] Set more flags on Real instructions.

I've pushed some patches which should fix all of this: rG323b3e645dd3, rG24ffc343f9da, rG7f3ac6714a56

Jun 16 2021, 10:23 AM · Restricted Project
holland11 updated the diff for D104149: [MCA] Adding the CustomBehaviour class to llvm-mca.

Restructured the way the target macros were being set in the cmake files so that they are properly scoped.

Jun 16 2021, 1:55 AM · Restricted Project

Jun 15 2021

holland11 updated the diff for D104149: [MCA] Adding the CustomBehaviour class to llvm-mca.

Quentin came up with a solution to the build problem and I implemented it. We define macros within /llvm-mca/lib/CMakeLists.txt based on which targets are being built. Then we use those macros within llvm-mca.cpp to guard the includes and references to target specific CBs.

Jun 15 2021, 3:46 PM · Restricted Project
holland11 added a comment to D104149: [MCA] Adding the CustomBehaviour class to llvm-mca.

Good call. I'll work something out and then update the diff once I've tested it properly.

Jun 15 2021, 1:56 PM · Restricted Project
holland11 added a comment to D104149: [MCA] Adding the CustomBehaviour class to llvm-mca.
Jun 15 2021, 1:54 PM · Restricted Project
holland11 updated the diff for D104149: [MCA] Adding the CustomBehaviour class to llvm-mca.

Changed function signature for checkCustomHazard to take ArrayRef<InstRef> rather than const SmallVector<InstRef, 4> &.

Jun 15 2021, 12:36 PM · Restricted Project
holland11 added a comment to D104149: [MCA] Adding the CustomBehaviour class to llvm-mca.

That makes a lot of sense, thank you. Submitting new diff now.

Jun 15 2021, 12:35 PM · Restricted Project
holland11 added a comment to D104149: [MCA] Adding the CustomBehaviour class to llvm-mca.

Yeah, it should be immutable.

Jun 15 2021, 12:08 PM · Restricted Project
holland11 added a comment to D104149: [MCA] Adding the CustomBehaviour class to llvm-mca.

Could the first argument be ArrayRef<InstRef> IssuedInst?

Jun 15 2021, 11:39 AM · Restricted Project
holland11 added a comment to D104293: [AMDGPU] Set more flags on Real instructions.

You may be completely on top of it already, but here is the function that I would like to be able to more or less copy within the AMDGPUCustomBehaviour class. (You don't have to read through the function, I summarize all the flags that get checked below.)

Jun 15 2021, 11:31 AM · Restricted Project
holland11 added a comment to D104149: [MCA] Adding the CustomBehaviour class to llvm-mca.

Okay, the AMDGPU code should be trivial now. The AMDGPUCB should be an empty implementation and the changes to the scheduling model should all have been reverted. I will submit a new patch later on once we get the flags sorted out.

Jun 15 2021, 10:54 AM · Restricted Project
holland11 updated the diff for D104149: [MCA] Adding the CustomBehaviour class to llvm-mca.

Rushed my previous updated diff and it had a mistake.

Jun 15 2021, 10:48 AM · Restricted Project