mattd (Matt Davis)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 16 2017, 6:22 PM (44 w, 5 d)

Recent Activity

Today

mattd created D52509: [compiler-rt] Remove unused formal parameters from allocateOneNode. NFC..
Tue, Sep 25, 10:34 AM

Mon, Sep 17

mattd added a comment to D52174: [TableGen][SubtargetEmitter] Add the ability for processor models to describe dependency breaking instructions..

I like this change. I have a few nits in the comments, but this looks good to me, caveat: I am not a tablegen expert.

Mon, Sep 17, 10:46 AM

Thu, Sep 13

mattd abandoned D49431: [llvm-mca][docs][WIP] Initial work on an internals/views mca doc. NFC.

Abandoning this change, it has gone stale.

Thu, Sep 13, 9:23 AM

Wed, Sep 12

mattd committed rL342068: [Diagnostic] Fix a warning typo. NFC..
[Diagnostic] Fix a warning typo. NFC.
Wed, Sep 12, 11:28 AM
mattd committed rC342068: [Diagnostic] Fix a warning typo. NFC..
[Diagnostic] Fix a warning typo. NFC.
Wed, Sep 12, 11:28 AM

Tue, Sep 11

mattd committed rL341980: [llvm-mca] Delay calculation of Cycles per Resources, separate the cycles and….
[llvm-mca] Delay calculation of Cycles per Resources, separate the cycles and…
Tue, Sep 11, 11:49 AM
mattd closed D51903: [llvm-mca] Delay calculation of Cycles per Resources, separate the cycles and resource quantities..
Tue, Sep 11, 11:49 AM
mattd updated the diff for D51903: [llvm-mca] Delay calculation of Cycles per Resources, separate the cycles and resource quantities..
  • Updated the ResourceCycles class description.
  • Moved that class into Support.h.
  • Removed an unused + operator.
Tue, Sep 11, 9:47 AM

Mon, Sep 10

mattd created D51903: [llvm-mca] Delay calculation of Cycles per Resources, separate the cycles and resource quantities..
Mon, Sep 10, 6:12 PM

Sat, Sep 1

mattd committed rL341281: [llvm-mca] Fix typo in debug output. NFC..
[llvm-mca] Fix typo in debug output. NFC.
Sat, Sep 1, 11:35 AM

Wed, Aug 29

mattd accepted D51430: [llvm-mca] Report the number of dispatched micro opcodes in the DispatchStatistics view..

LGTM.

Wed, Aug 29, 10:39 AM
mattd abandoned D50745: [llvm-mca] Update the comments for the mca:::Stage class. NFC..

Abandoning this change, it is outdated.

Wed, Aug 29, 7:50 AM

Tue, Aug 28

mattd committed rL340888: [llvm-mca] Remove unused formal. NFC..
[llvm-mca] Remove unused formal. NFC.
Tue, Aug 28, 5:42 PM
mattd committed rL340887: [llvm-mca] Move the initialization of Pipeline. NFC..
[llvm-mca] Move the initialization of Pipeline. NFC.
Tue, Aug 28, 5:35 PM

Mon, Aug 27

mattd committed rL340755: [llvm-mca] Introduce the llvm-mca library and organize the directory….
[llvm-mca] Introduce the llvm-mca library and organize the directory…
Mon, Aug 27, 10:19 AM
mattd closed D50929: [llvm-mca] Introduce the llvm-mca library and organize the directory accordingly. NFC..
Mon, Aug 27, 10:19 AM
mattd committed rL340754: [llvm-mca] Remove unused method. NFC..
[llvm-mca] Remove unused method. NFC.
Mon, Aug 27, 9:54 AM

Aug 24 2018

mattd updated the summary of D50929: [llvm-mca] Introduce the llvm-mca library and organize the directory accordingly. NFC..
Aug 24 2018, 5:16 PM
mattd updated the diff for D50929: [llvm-mca] Introduce the llvm-mca library and organize the directory accordingly. NFC..

Rebased this diff after reorganizing the llvm-mca directory some.

Aug 24 2018, 5:07 PM
mattd committed rL340668: [llvm-mca] Move ResourceManager from Scheduler into its own file. NFC..
[llvm-mca] Move ResourceManager from Scheduler into its own file. NFC.
Aug 24 2018, 4:00 PM
mattd committed rL340661: [llvm-mca] Revert r340659. NFC..
[llvm-mca] Revert r340659. NFC.
Aug 24 2018, 3:06 PM
mattd committed rL340659: [llvm-mca] Move the ResourceManger from the Scheduler into its own file. NFC..
[llvm-mca] Move the ResourceManger from the Scheduler into its own file. NFC.
Aug 24 2018, 2:54 PM
mattd committed rL340645: [llvm-mca] Move views and stats into a Views subdir. NFC..
[llvm-mca] Move views and stats into a Views subdir. NFC.
Aug 24 2018, 1:26 PM
mattd updated the diff for D50929: [llvm-mca] Introduce the llvm-mca library and organize the directory accordingly. NFC..
  • Move the Resource classes into their own file.
Aug 24 2018, 11:00 AM

Aug 23 2018

mattd committed rL340566: [llvm-mca] Set the Selection strategy to Default if nullptr is passed..
[llvm-mca] Set the Selection strategy to Default if nullptr is passed.
Aug 23 2018, 11:43 AM
mattd updated the diff for D50929: [llvm-mca] Introduce the llvm-mca library and organize the directory accordingly. NFC..
  • Updated per comments from the last spin:
    • Moved CodeRegion out of the library.
    • Added Views and Stats directories to cleanup the layout (Views and Stats are not part of the library).
Aug 23 2018, 9:59 AM

Aug 22 2018

mattd committed rL340431: [llvm-mca] Clean up a comment about the Context class. NFC..
[llvm-mca] Clean up a comment about the Context class. NFC.
Aug 22 2018, 11:04 AM
mattd committed rL340422: [llvm-mca] Remove unused decl. NFC..
[llvm-mca] Remove unused decl. NFC.
Aug 22 2018, 10:16 AM

Aug 21 2018

mattd committed rL340316: [llvm-mca] Remove unused decl. NFC..
[llvm-mca] Remove unused decl. NFC.
Aug 21 2018, 11:40 AM
mattd accepted D51051: [llvm-mca] Add the ability to customize the instruction selection strategy in the Scheduler..

LGTM, we chatted about the index calculation offline. I am okay with that instruction age calculation.

Aug 21 2018, 11:09 AM

Aug 20 2018

mattd committed rL340227: [llvm-mca] Remove unused formal parameter. NFC..
[llvm-mca] Remove unused formal parameter. NFC.
Aug 20 2018, 3:42 PM
mattd added a comment to D50929: [llvm-mca] Introduce the llvm-mca library and organize the directory accordingly. NFC..

My opinion is that CodeRegion.h and CodeRegion.cpp should not be part of the library. Those files implement a class which is meant to be used by the llvm-mca driver only to mark regions of code. A different utility class/approach should be used when llvm-mca is used as a library.

Aug 20 2018, 9:44 AM

Aug 18 2018

mattd updated the diff for D50929: [llvm-mca] Introduce the llvm-mca library and organize the directory accordingly. NFC..
  • Tossed in an LLVMBuild.txt for the library.
  • Added library dependencies to the cmake.
Aug 18 2018, 12:18 PM

Aug 17 2018

mattd added inline comments to D50929: [llvm-mca] Introduce the llvm-mca library and organize the directory accordingly. NFC..
Aug 17 2018, 3:41 PM
mattd created D50929: [llvm-mca] Introduce the llvm-mca library and organize the directory accordingly. NFC..
Aug 17 2018, 3:38 PM
mattd committed rL340065: [llvm-mca] Reformat a few lines (fix spacing). NFC..
[llvm-mca] Reformat a few lines (fix spacing). NFC.
Aug 17 2018, 11:06 AM

Aug 16 2018

mattd added a comment to D50639: Change how finalizeBundle selects debug location for the BUNDLE instruction.

I like this change! Is there ever the case where there would be two different DILocations within a bundle? Perhaps that questions doesn't matter since bundles are treated as a single item.

Aug 16 2018, 3:35 PM
mattd accepted D50849: [llvm-mca] Refactor how execution is orchestrated by the Pipeline. NFCI.

Thanks!
LGTM (again)

Aug 16 2018, 11:13 AM
mattd added a comment to D50849: [llvm-mca] Refactor how execution is orchestrated by the Pipeline. NFCI.

I made a few comments, all just nits. This is a pretty substantial change in design, but better. LGTM. Thanks for this!

Aug 16 2018, 10:42 AM
mattd added a comment to D50410: Removing -debug-info-macros from option suggestions test.

@mattd thanks for confirming. I tried clang -cc1as -target x86_64-scei-ps4 -debug-info-macros and got suggestions.

@modocache @mattd Should we try to first land https://reviews.llvm.org/D50515 to see if it fails again?

Aug 16 2018, 9:48 AM
mattd added a comment to D50410: Removing -debug-info-macros from option suggestions test.

@mattd @Sunil_Srivastava if you have access to the PS4 SDK, could you tell if the -debug-info-macro command line clang option is available? Thank you

Aug 16 2018, 8:33 AM

Aug 14 2018

mattd created D50745: [llvm-mca] Update the comments for the mca:::Stage class. NFC..
Aug 14 2018, 4:25 PM
mattd abandoned D50541: [llvm-mca] Introduce a simple (error/warning) status framework for mca..

Abandoning in favor of https://reviews.llvm.org/D50561

Aug 14 2018, 2:36 PM
mattd added a comment to D50708: [Tablegen][MCInstPredicate] Removed redundant template argument from class TIIPredicate, and implemented verification rules for TIIPredicates in CodeGenSchedule.cpp..

Thanks for the review Matt.

I noticed that I forgot to mark the new method 'const'. So I have decided to update the code review before committing it.

Aug 14 2018, 11:28 AM
mattd accepted D50708: [Tablegen][MCInstPredicate] Removed redundant template argument from class TIIPredicate, and implemented verification rules for TIIPredicates in CodeGenSchedule.cpp..

I don't see anything wrong with this. I'm all for better modularity with the tablgen "function predicates"; LGTM.

Aug 14 2018, 9:59 AM

Aug 13 2018

mattd committed rL339594: [llvm-mca] Propagate fatal llvm-mca errors from library classes to driver..
[llvm-mca] Propagate fatal llvm-mca errors from library classes to driver.
Aug 13 2018, 11:13 AM
mattd closed D50561: [llvm-mca] Propagate fatal llvm-mca errors from library classes to driver..
Aug 13 2018, 11:12 AM
mattd updated the diff for D50561: [llvm-mca] Propagate fatal llvm-mca errors from library classes to driver..
  • Addressed comments:
    • Added braces.
    • Removed a stale comment and initializer.
    • Using Expected::get in a few places instead of operator* in Pipeline.cpp.
Aug 13 2018, 10:45 AM
mattd added inline comments to D50561: [llvm-mca] Propagate fatal llvm-mca errors from library classes to driver..
Aug 13 2018, 10:05 AM
mattd updated the diff for D50561: [llvm-mca] Propagate fatal llvm-mca errors from library classes to driver..

Addressed comments.

Aug 13 2018, 10:03 AM

Aug 10 2018

mattd updated the diff for D50561: [llvm-mca] Propagate fatal llvm-mca errors from library classes to driver..

Added Stage::Status type alias to clean up the return value for Stage::execute. The previous iteration of this patch used an Expected<bool>, which I find confusing. This change makes the code more readable.

Aug 10 2018, 8:54 PM
mattd added inline comments to D50561: [llvm-mca] Propagate fatal llvm-mca errors from library classes to driver..
Aug 10 2018, 8:51 PM
mattd updated the diff for D50561: [llvm-mca] Propagate fatal llvm-mca errors from library classes to driver..
  • RegisterFile::isAvailable no longer fataly fails, instead if an instruction requires more registers than what a register file can hold, a warning is issued and the PRF is increased to hold the number of registers specified by the instruction.
    • Unfortunately this requires isAvailable to no longer be const, and that the RegisterMappingTracker to no longer have a const NumPhysRegs field.
    • Another option is check the register file lengths per instruction, but outside of isAvailable. As part of some sanity check. However, that will some what duplicate the for-loop in isAvailable.
    • I'm going to go through the patch and see if there is any template code I can simplify via using directives, I don't want to increase complexity.
Aug 10 2018, 2:42 PM
mattd committed rL339468: [llvm-mca] Make InstrBuilder::getOrCreateInstrDesc private. NFC..
[llvm-mca] Make InstrBuilder::getOrCreateInstrDesc private. NFC.
Aug 10 2018, 1:25 PM
mattd added a comment to D50566: [Tablegen][SubtargetEmitter] Improve expansion of predicates of a variant scheduling class..

Thanks @andreadb. LGTM.

Aug 10 2018, 11:47 AM
mattd created D50561: [llvm-mca] Propagate fatal llvm-mca errors from library classes to driver..
Aug 10 2018, 8:23 AM

Aug 9 2018

mattd updated the summary of D50541: [llvm-mca] Introduce a simple (error/warning) status framework for mca..
Aug 9 2018, 5:23 PM
mattd created D50541: [llvm-mca] Introduce a simple (error/warning) status framework for mca..
Aug 9 2018, 5:22 PM
mattd accepted D50457: [MC][PredicateExpander] Extend the grammar to support simple switch and return statements..

Thanks for this patch! LGTM.

Aug 9 2018, 8:00 AM

Aug 8 2018

mattd added inline comments to D50457: [MC][PredicateExpander] Extend the grammar to support simple switch and return statements..
Aug 8 2018, 10:13 AM
mattd added a comment to D50457: [MC][PredicateExpander] Extend the grammar to support simple switch and return statements..

I really like this change! The result is easier to read.

Aug 8 2018, 9:59 AM

Aug 7 2018

mattd committed rL339201: [analyzer] Avoid querying this-pointers for static-methods..
[analyzer] Avoid querying this-pointers for static-methods.
Aug 7 2018, 4:14 PM
mattd committed rC339201: [analyzer] Avoid querying this-pointers for static-methods..
[analyzer] Avoid querying this-pointers for static-methods.
Aug 7 2018, 4:14 PM
mattd closed D50408: [analyzer] Avoid querying this-pointers for static-methods..
Aug 7 2018, 4:13 PM
mattd created D50408: [analyzer] Avoid querying this-pointers for static-methods..
Aug 7 2018, 2:57 PM

Aug 3 2018

mattd committed rL338900: [llvm-mca][docs] Move the code marker text into its own subsection. NFC..
[llvm-mca][docs] Move the code marker text into its own subsection. NFC.
Aug 3 2018, 8:56 AM

Jul 31 2018

mattd committed rL338456: [compiler-rt] Add a routine to specify the mode used when creating profile dirs..
[compiler-rt] Add a routine to specify the mode used when creating profile dirs.
Jul 31 2018, 4:37 PM
mattd committed rCRT338456: [compiler-rt] Add a routine to specify the mode used when creating profile dirs..
[compiler-rt] Add a routine to specify the mode used when creating profile dirs.
Jul 31 2018, 4:37 PM
mattd closed D49953: [compiler-rt] Add a routine to specify the mode used when creating profile dirs..
Jul 31 2018, 4:37 PM
mattd committed rL338430: [llvm-mca] Update the help text to reflect "physical" registers. NFC..
[llvm-mca] Update the help text to reflect "physical" registers. NFC.
Jul 31 2018, 1:05 PM
mattd committed rL338415: [llvm-mca][docs] Replace "temporary" with "physical registers". NFC..
[llvm-mca][docs] Replace "temporary" with "physical registers". NFC.
Jul 31 2018, 12:00 PM
mattd updated the diff for D49953: [compiler-rt] Add a routine to specify the mode used when creating profile dirs..
  • Simplify the test case, let the compiler join the literals for us.
Jul 31 2018, 9:15 AM
mattd updated the diff for D49953: [compiler-rt] Add a routine to specify the mode used when creating profile dirs..
  • Renamed the test output and test directory to clean up the more specific test example.
Jul 31 2018, 8:13 AM

Jul 30 2018

mattd updated the diff for D49953: [compiler-rt] Add a routine to specify the mode used when creating profile dirs..
  • Added a test that creates a directory via __llvm_profile_recursive_mkdir and verifies the mode.
  • I intend to only commit one of the two tests, but wanted to provide a more specific/detailed test.
    • I don't know if we really want such a specific test, but it's a potential start at one.
  • We can definitely ignore windows here (since there is no mode passed to its equivalent to mkdir).
  • I don't know if there are other systems we need to ignore, e.g., android?
  • I'm still hesitant to adding the more specific test, it feels very os specific.
  • I didn't see an alternative to FileCheck's (deprecated) %T, so I wrote a simple 'dirname' routine that is not dependent on libgen.
    • I hope that is sufficient for this test case.
Jul 30 2018, 5:54 PM
mattd committed rL338319: [llvm-mca][docs] Add instruction flow documentation. NFC..
[llvm-mca][docs] Add instruction flow documentation. NFC.
Jul 30 2018, 3:30 PM
mattd closed D49692: [llvm-mca][docs] Add instruction flow documentation. NFC..
Jul 30 2018, 3:30 PM
mattd added inline comments to D49692: [llvm-mca][docs] Add instruction flow documentation. NFC..
Jul 30 2018, 2:41 PM
mattd updated the diff for D49692: [llvm-mca][docs] Add instruction flow documentation. NFC..

Thanks for the comments! I have updated the diff based on that feedback.

Jul 30 2018, 2:41 PM
mattd added a comment to D49953: [compiler-rt] Add a routine to specify the mode used when creating profile dirs..

Is it possible/reasonable for the test to call __llvm_profile_recursive_mkdir and then verify the mode of the created directory?
The test would have to be flagged as unsupported on Windows but that seems fine.

Jul 30 2018, 10:22 AM

Jul 27 2018

mattd created D49953: [compiler-rt] Add a routine to specify the mode used when creating profile dirs..
Jul 27 2018, 8:31 PM

Jul 25 2018

mattd added a comment to D49775: [MCA] Avoid an InstrDesc copy in mca::LSUnit::reserve..

@mattd

Yep, it was through profiling. I've been working on a new scheduler using MCA, as Clement alluded to in https://bugs.llvm.org/show_bug.cgi?id=37696.
mca::Pipeline::run ends up being the hot part, and this was a simple, easily upstreamable 5% improvement within that :)

Jul 25 2018, 5:26 PM
mattd added a comment to D49775: [MCA] Avoid an InstrDesc copy in mca::LSUnit::reserve..

@mattd Dean's in my time zone so I asked him before I saw your comment, but thanks for the offer.

Jul 25 2018, 5:07 PM
mattd added a comment to D49775: [MCA] Avoid an InstrDesc copy in mca::LSUnit::reserve..

@orodley No problem. I don't know if you have commit access (your account looks pretty new), but I'm happy to land the patch for you later if you wish.

Jul 25 2018, 4:42 PM
mattd accepted D49775: [MCA] Avoid an InstrDesc copy in mca::LSUnit::reserve..

Thanks for the patch @orodley. Good catch! LGTM.

Jul 25 2018, 9:43 AM
mattd added a reviewer for D49775: [MCA] Avoid an InstrDesc copy in mca::LSUnit::reserve.: mattd.
Jul 25 2018, 9:42 AM

Jul 23 2018

mattd committed rL337739: [llvm-mca][docs] Define IPC where it is first mentioned. NFC..
[llvm-mca][docs] Define IPC where it is first mentioned. NFC.
Jul 23 2018, 2:11 PM
mattd created D49692: [llvm-mca][docs] Add instruction flow documentation. NFC..
Jul 23 2018, 1:30 PM

Jul 21 2018

mattd committed rL337648: [llvm-mca][docs] Add documentation for the statistic outputs from mca. NFC.
[llvm-mca][docs] Add documentation for the statistic outputs from mca. NFC
Jul 21 2018, 11:40 AM
mattd closed D49614: [llvm-mca][docs] Add documentation for the statistic outputs from mca. NFC.
Jul 21 2018, 11:39 AM

Jul 20 2018

mattd updated the diff for D49614: [llvm-mca][docs] Add documentation for the statistic outputs from mca. NFC.
  • Removed some redundant text from the example.
  • Captured full context.
Jul 20 2018, 1:53 PM
mattd created D49614: [llvm-mca][docs] Add documentation for the statistic outputs from mca. NFC.
Jul 20 2018, 1:33 PM

Jul 19 2018

mattd committed rL337496: [llvm-mca][docs] Add Timeline and How MCA works..
[llvm-mca][docs] Add Timeline and How MCA works.
Jul 19 2018, 1:39 PM
mattd closed D49527: [llvm-mca][docs] Describe the Timeline View. NFC.
Jul 19 2018, 1:39 PM
mattd added a comment to D49527: [llvm-mca][docs] Describe the Timeline View. NFC.

Thanks for the feedback @andreadb ! I've already made the suggested changes and will land that shortly.

Jul 19 2018, 1:35 PM
mattd retitled D49527: [llvm-mca][docs] Describe the Timeline View. NFC from [llvm-mca][docs][WIP] Describe the Timeline View. NFC to [llvm-mca][docs] Describe the Timeline View. NFC.
Jul 19 2018, 1:33 PM

Jul 18 2018

mattd created D49527: [llvm-mca][docs] Describe the Timeline View. NFC.
Jul 18 2018, 5:45 PM

Jul 17 2018

mattd added a comment to D49436: [X86][BtVer2] correctly model the latency/throughput of LEA instructions..

I think it makes sense to have a separate patch for checkInvalidRegOperand. I do like that idea in particular, it simplifies reading the tablegen sources.

Jul 17 2018, 5:38 PM
mattd updated the summary of D49431: [llvm-mca][docs][WIP] Initial work on an internals/views mca doc. NFC.
Jul 17 2018, 9:41 AM
mattd created D49431: [llvm-mca][docs][WIP] Initial work on an internals/views mca doc. NFC.
Jul 17 2018, 9:39 AM
mattd added a reverting commit for rL337225: [llvm-mca][docs] Add notes about cycle and resource callbacks. NFC.: rL337295: [llvm-mca][docs] Revert mca internals docs..
Jul 17 2018, 9:17 AM