thegameg (Francis Visoiu Mistrih)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 23 2015, 4:41 AM (130 w, 3 d)

Recent Activity

Yesterday

thegameg accepted D47269: [CodeGen] Use RegUnits to track register aliases in AArch64RedundantCopyElimination. (NFC).

LGTM

Wed, May 23, 10:02 AM

Fri, May 4

thegameg added a comment to D46444: Add option -verify-cfiinstrs to run verifier in CFIInstrInserter.

Instead of adding a new flag, would it be possible to make this part of the machine verifier? (-verify-machineinstrs)

Fri, May 4, 2:33 PM
thegameg added inline comments to D46399: Skip unreachable blocks for CFIInstrInserter verify.
Fri, May 4, 2:24 PM

Thu, May 3

thegameg added inline comments to D45948: [MIRParser] Allow register class names in the form of integer/scalar.
Thu, May 3, 2:44 PM
thegameg accepted D45948: [MIRParser] Allow register class names in the form of integer/scalar.

LGTM with a small refactoring. I would wait until tomorrow for other reviewers to react, if not you can go ahead and commit this.

Thu, May 3, 5:10 AM
thegameg added inline comments to D45948: [MIRParser] Allow register class names in the form of integer/scalar.
Thu, May 3, 1:09 AM
thegameg added reviewers for D45948: [MIRParser] Allow register class names in the form of integer/scalar: plotfi, bogner.
Thu, May 3, 1:02 AM

Wed, May 2

thegameg added a comment to D45948: [MIRParser] Allow register class names in the form of integer/scalar.

There are cases in which i32 is used to signify a constant type:
Example 1
Example 2
And there are many more. So changing the category of i32 to an identifier will cause all these tests to fail.

Wed, May 2, 2:13 AM

Tue, May 1

thegameg added a comment to D45948: [MIRParser] Allow register class names in the form of integer/scalar.

I see the problem. The solution feels a little hacky though. Would it make more sense to get rid of MIToken::IntegerType and lex i32 to identifier?

Tue, May 1, 3:26 PM

Mon, Apr 30

thegameg added a comment to D46278: [AArch64] Fold B = csel A, A into B = COPY A.

Do you have any idea why this is happening? I would expect that normally, instruction selection won't insert a useless csel. (If we're missing some fold before isel, fixing that could have a larger benefit overall.)

Mon, Apr 30, 1:29 PM
thegameg created D46278: [AArch64] Fold B = csel A, A into B = COPY A.
Mon, Apr 30, 11:28 AM

Fri, Apr 27

thegameg added inline comments to D45110: [PostRASink]Sink spill to a block reachable to reload.
Fri, Apr 27, 12:31 PM
thegameg added a comment to D45110: [PostRASink]Sink spill to a block reachable to reload.

Sorry for the wait, this looks very good! Did you see any compile time impact on this?

Fri, Apr 27, 12:11 PM
thegameg committed rL331044: [AArch64] Place the first ldp at the end when ReverseCSRRestoreSeq is true.
[AArch64] Place the first ldp at the end when ReverseCSRRestoreSeq is true
Fri, Apr 27, 8:34 AM

Wed, Apr 25

thegameg accepted D46063: [AArch64] Fix scavenged spill slot base when stack realignment required..

LGTM with a small comment. Thanks!

Wed, Apr 25, 2:38 PM
thegameg committed rL330859: [MIR] Add support for debug metadata for fixed stack objects.
[MIR] Add support for debug metadata for fixed stack objects
Wed, Apr 25, 12:02 PM
thegameg closed D46032: [MIR] Add support for debug metadata for fixed stack objects.
Wed, Apr 25, 12:01 PM
thegameg added inline comments to D46032: [MIR] Add support for debug metadata for fixed stack objects.
Wed, Apr 25, 4:22 AM
thegameg updated the diff for D46032: [MIR] Add support for debug metadata for fixed stack objects.

Add comment for int Slot;.

Wed, Apr 25, 4:21 AM
thegameg updated the diff for D46032: [MIR] Add support for debug metadata for fixed stack objects.

Fix a few tests.

Wed, Apr 25, 3:29 AM
thegameg added inline comments to D46032: [MIR] Add support for debug metadata for fixed stack objects.
Wed, Apr 25, 3:16 AM
thegameg updated the diff for D46032: [MIR] Add support for debug metadata for fixed stack objects.
  • Rename di-* to debug-info-* for fixedStack: and stack:
  • Add comments to test to explain what they're testing
Wed, Apr 25, 3:15 AM

Tue, Apr 24

thegameg created D46032: [MIR] Add support for debug metadata for fixed stack objects.
Tue, Apr 24, 3:56 PM

Apr 24 2018

thegameg committed rL330709: [CodeGen] Print user-friendly debug locations as MI comments.
[CodeGen] Print user-friendly debug locations as MI comments
Apr 24 2018, 4:04 AM
thegameg closed D45992: [CodeGen] Print user-friendly debug locations as MI comments.
Apr 24 2018, 4:04 AM

Apr 23 2018

thegameg created D45992: [CodeGen] Print user-friendly debug locations as MI comments.
Apr 23 2018, 2:48 PM
thegameg accepted D42848: Correct dwarf unwind information in function epilogue.

LGTM, thanks!

Apr 23 2018, 9:36 AM

Apr 21 2018

thegameg accepted D45913: [SelectionDAG] Dump debug locs in SDNodes.

LGTM, thanks!

Apr 21 2018, 12:56 AM

Apr 20 2018

Herald added a reviewer for D45770: [AArch64] Disable spill slot scavenging when stack realignment required.: javed.absar.

I think @gberry's solution is actually the correct fix. I don't really see why we shouldn't use empty stack slots if we can.

Apr 20 2018, 10:07 AM
thegameg added a comment to D42848: Correct dwarf unwind information in function epilogue.

@thegameg Hm, that's strange. They pass on my side. What are the failures that you're having?

Apr 20 2018, 9:32 AM
thegameg added a comment to D42848: Correct dwarf unwind information in function epilogue.

I have some tests failing on my side:

Apr 20 2018, 8:51 AM
Herald added a reviewer for D42848: Correct dwarf unwind information in function epilogue: javed.absar.

Thanks for working on this again!

Apr 20 2018, 6:31 AM

Apr 19 2018

JDevlieghere awarded rL330343: [llvm-objdump] Remove test object file a Like token.
Apr 19 2018, 10:11 AM
thegameg committed rL330343: [llvm-objdump] Remove test object file.
[llvm-objdump] Remove test object file
Apr 19 2018, 10:10 AM
thegameg committed rL330342: [llvm-objdump] Print "..." instead of random data for virtual sections.
[llvm-objdump] Print "..." instead of random data for virtual sections
Apr 19 2018, 10:06 AM
thegameg closed D45824: [llvm-objdump] Print "..." instead of random data for virtual sections.
Apr 19 2018, 10:06 AM
thegameg updated the diff for D45824: [llvm-objdump] Print "..." instead of random data for virtual sections.

Thanks Jonas!

Apr 19 2018, 9:49 AM
thegameg added a reviewer for D45824: [llvm-objdump] Print "..." instead of random data for virtual sections: JDevlieghere.
Apr 19 2018, 9:11 AM
thegameg created D45824: [llvm-objdump] Print "..." instead of random data for virtual sections.
Apr 19 2018, 9:09 AM

Apr 18 2018

thegameg accepted D45727: Add tests for shrink wrapping and VLAs.

local_unnamed_addr is probably not needed either.

Apr 18 2018, 6:08 AM

Apr 17 2018

thegameg added a comment to D45727: Add tests for shrink wrapping and VLAs.

Sorry for not looking thoroughly at the test in the previous patch.

Apr 17 2018, 4:10 PM
thegameg added a comment to D45524: Fix incorrect choice of callee-saved registers save/restore points.

IIRC, there was a test case in the original patch but I can't see it in the landed commit. Any idea what happened?

Apr 17 2018, 8:52 AM
thegameg added a comment to D41330: [X86] Reduce Store Forward Block issues in HW.

This seems to break the Machine Verifier. I filed PR37153. Do you mind taking a look please? Thanks!

Apr 17 2018, 8:41 AM
thegameg added a comment to D45524: Fix incorrect choice of callee-saved registers save/restore points.

Thanks!

Apr 17 2018, 1:38 AM

Apr 16 2018

thegameg added inline comments to D45524: Fix incorrect choice of callee-saved registers save/restore points.
Apr 16 2018, 5:23 PM
thegameg accepted D45695: [CodeGen] Use RegUnits to track register aliases (NFC).

Thanks for working on this! This looks good to me. Adding Tim for the AArch64LDST part.

Apr 16 2018, 5:18 PM

Apr 15 2018

thegameg accepted D45524: Fix incorrect choice of callee-saved registers save/restore points.

Thanks. LGTM + one more comment.

Apr 15 2018, 4:19 AM

Apr 12 2018

thegameg added a comment to D44958: [PostRASink]Add register dependency check for implicit operands.

LGTM, thanks!

Apr 12 2018, 2:19 PM
thegameg added inline comments to D44958: [PostRASink]Add register dependency check for implicit operands.
Apr 12 2018, 11:02 AM
thegameg committed rL329908: [CodeGen] Allow printing MachineMemOperands with less context in SDAGDumper.
[CodeGen] Allow printing MachineMemOperands with less context in SDAGDumper
Apr 12 2018, 6:03 AM
thegameg closed D44611: [CodeGen] Allow printing MachineMemOperands with less context in SDAGDumper.
Apr 12 2018, 6:03 AM
thegameg added a comment to D44611: [CodeGen] Allow printing MachineMemOperands with less context in SDAGDumper.

Thanks! Your suggestion is much more readable.

Apr 12 2018, 6:02 AM
thegameg accepted D44958: [PostRASink]Add register dependency check for implicit operands.

I think I saw the case where LiveRegUnits is used to find a scratch reg. It seems possible to use it here as well. Let me take a little closer look at it. I think it should be a separate NFC patch.

Apr 12 2018, 4:02 AM

Apr 11 2018

thegameg added a comment to D45524: Fix incorrect choice of callee-saved registers save/restore points.

Thanks for this! If it's possible, could you also write a MIR test for this?

Apr 11 2018, 10:11 AM
thegameg added a reviewer for D45524: Fix incorrect choice of callee-saved registers save/restore points: junbuml.
Apr 11 2018, 9:35 AM
thegameg committed rL329805: [AArch64] Add test case for r329797.
[AArch64] Add test case for r329797
Apr 11 2018, 6:43 AM
thegameg committed rL329797: [AArch64] Fix regression after r329691.
[AArch64] Fix regression after r329691
Apr 11 2018, 5:40 AM

Apr 10 2018

thegameg committed rL329691: [AArch64] Use FP to access the emergency spill slot.
[AArch64] Use FP to access the emergency spill slot
Apr 10 2018, 4:34 AM
thegameg closed D45358: [AArch64] Use FP to access the emergency spill slot.
Apr 10 2018, 4:34 AM

Apr 9 2018

thegameg added inline comments to D45358: [AArch64] Use FP to access the emergency spill slot.
Apr 9 2018, 6:43 AM
thegameg added a comment to D44611: [CodeGen] Allow printing MachineMemOperands with less context in SDAGDumper.

Ping?

Apr 9 2018, 5:35 AM

Apr 8 2018

thegameg added a comment to D45110: [PostRASink]Sink spill to a block reachable to reload.

Thanks for working on this.

Apr 8 2018, 1:19 PM

Apr 6 2018

thegameg added a comment to D44958: [PostRASink]Add register dependency check for implicit operands.

Sorry for the delay.

Apr 6 2018, 4:35 AM
thegameg added a dependent revision for D40876: AArch64: Fix emergency spillslot being out of reach for large callframes: D45358: [AArch64] Use FP to access the emergency spill slot.
Apr 6 2018, 2:47 AM
thegameg added a dependency for D45358: [AArch64] Use FP to access the emergency spill slot: D40876: AArch64: Fix emergency spillslot being out of reach for large callframes.
Apr 6 2018, 2:47 AM
thegameg created D45358: [AArch64] Use FP to access the emergency spill slot.
Apr 6 2018, 2:46 AM
thegameg committed rL329382: [MIR] Add support for MachineFrameInfo::LocalFrameSize.
[MIR] Add support for MachineFrameInfo::LocalFrameSize
Apr 6 2018, 1:59 AM

Apr 3 2018

thegameg accepted D45189: [MachineOutliner][AArch64] Keep track of functions that use a red zone in AArch64MachineFunctionInfo and use that instead of checking for noredzone in the MachineOutliner.

LGTM, thanks!

Apr 3 2018, 1:48 PM
thegameg accepted D45183: [CodeGen]Add NoVRegs property on PostRASink and ShrinkWrap.

LGTM, Thank you!

Apr 3 2018, 9:52 AM
thegameg added a comment to D45189: [MachineOutliner][AArch64] Keep track of functions that use a red zone in AArch64MachineFunctionInfo and use that instead of checking for noredzone in the MachineOutliner.

Another thought, would it be worthwhile to add a serialized MIR function property for this usesRedZone flag so you could write MIR tests for this instead?

Apr 3 2018, 7:52 AM
thegameg added inline comments to D45189: [MachineOutliner][AArch64] Keep track of functions that use a red zone in AArch64MachineFunctionInfo and use that instead of checking for noredzone in the MachineOutliner.
Apr 3 2018, 1:35 AM
thegameg accepted D45200: Adding Name parameter to createVirtualRegister and createGenericVirtualRegister.

This LGTM. If you (or anyone else) can come up with some kind of test it wouldn't hurt, but I remember your test from the previous patch was all right.

Apr 3 2018, 1:24 AM

Apr 2 2018

thegameg added a comment to D45183: [CodeGen]Add NoVRegs property on PostRASink and ShrinkWrap.

The shrink-wrap pass would already assert here. Could you add the property to ShrinkWrap as well?

Apr 2 2018, 2:46 PM

Mar 30 2018

thegameg accepted D43916: Named VReg support for MIR.

LGTM, thanks!

Mar 30 2018, 9:07 AM

Mar 29 2018

thegameg added inline comments to D43916: Named VReg support for MIR.
Mar 29 2018, 11:48 PM
thegameg added inline comments to D43916: Named VReg support for MIR.
Mar 29 2018, 4:28 AM

Mar 27 2018

thegameg updated subscribers of D44871: [CodeGen] Fixed unreachable with -print-machineinstrs and custom pseudo source value.
Mar 27 2018, 7:04 AM
thegameg added a comment to D44929: MachineMemOperand: Don't crash when printing custom source values.

Sorry for breaking this. There is already a patch here: https://reviews.llvm.org/D44871.

Mar 27 2018, 7:04 AM

Mar 24 2018

thegameg accepted D44863: [YAML] Escape non-printable multibyte UTF8 in Output::scalarString..

LGTM. Thanks for fixing this the right way, it looks much better now!

Mar 24 2018, 2:12 PM
thegameg accepted D44871: [CodeGen] Fixed unreachable with -print-machineinstrs and custom pseudo source value.

Thanks! I remember wanting to do this, I must have missed it, sorry.

Mar 24 2018, 1:47 PM

Mar 21 2018

thegameg added a comment to D41463: [CodeGen] Add a new pass for PostRA sink.

In my test with Os, I can see -0.6% in spec2000/gcc, but I couldn't see any change in the hot function (propagate_block), which takes just 11% in profile though. As far as I check in my environment, 0.6% seems reasonable performance swing. I'm not sure if your regression on 176.gcc could be explained as swing or not. Please let me know you see any negative impact from this.

Mar 21 2018, 8:17 AM

Mar 20 2018

thegameg added a reviewer for D42848: Correct dwarf unwind information in function epilogue: craig.topper.

Added @craig.topper for the X86FrameLowering::mergeSPUpdates changes.

Mar 20 2018, 2:27 PM

Mar 19 2018

thegameg added inline comments to D43916: Named VReg support for MIR.
Mar 19 2018, 3:04 PM
thegameg added inline comments to D43916: Named VReg support for MIR.
Mar 19 2018, 2:13 PM
thegameg added a comment to D41463: [CodeGen] Add a new pass for PostRA sink.

Thanks for this @junbuml! I did some runs on arm64 and I see a regression on 176.gcc, in average of 1.5%.

Mar 19 2018, 1:40 PM

Mar 18 2018

thegameg created D44611: [CodeGen] Allow printing MachineMemOperands with less context in SDAGDumper.
Mar 18 2018, 1:58 PM
thegameg added inline comments to D42377: [CodeGen] Use MIR syntax for MachineMemOperand printing.
Mar 18 2018, 1:58 PM

Mar 15 2018

thegameg added inline comments to D43916: Named VReg support for MIR.
Mar 15 2018, 4:42 PM
thegameg added inline comments to D43916: Named VReg support for MIR.
Mar 15 2018, 8:00 AM

Mar 14 2018

thegameg committed rL327580: [CodeGen] Use MIR syntax for MachineMemOperand printing.
[CodeGen] Use MIR syntax for MachineMemOperand printing
Mar 14 2018, 2:55 PM
thegameg closed D42377: [CodeGen] Use MIR syntax for MachineMemOperand printing.
Mar 14 2018, 2:54 PM
thegameg added inline comments to D43916: Named VReg support for MIR.
Mar 14 2018, 1:53 PM
thegameg committed rL327569: [AArch64] Emit CSR loads in the same order as stores.
[AArch64] Emit CSR loads in the same order as stores
Mar 14 2018, 1:38 PM
thegameg added inline comments to D43916: Named VReg support for MIR.
Mar 14 2018, 1:10 PM
thegameg added inline comments to D42377: [CodeGen] Use MIR syntax for MachineMemOperand printing.
Mar 14 2018, 10:53 AM
thegameg updated the diff for D42377: [CodeGen] Use MIR syntax for MachineMemOperand printing.

Thanks for the review Justin!

Mar 14 2018, 10:53 AM
thegameg committed rL327533: [AArch64] Keep track of MIFlags in the LoadStoreOptimizer.
[AArch64] Keep track of MIFlags in the LoadStoreOptimizer
Mar 14 2018, 10:14 AM
thegameg closed D44446: [AArch64] Keep track of MIFlags in the LoadStoreOptimizer.
Mar 14 2018, 10:14 AM
thegameg updated the diff for D44446: [AArch64] Keep track of MIFlags in the LoadStoreOptimizer.

Handle (hopefully) all the different cases.

Mar 14 2018, 8:41 AM

Mar 13 2018

thegameg updated the diff for D44446: [AArch64] Keep track of MIFlags in the LoadStoreOptimizer.
Mar 13 2018, 2:48 PM