Page MenuHomePhabricator

antoniofrighetto (Antonio Frighetto)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 15 2021, 7:42 AM (71 w, 4 d)

Recent Activity

Thu, Jan 26

antoniofrighetto added a comment to D142234: [LVI] Handle Intrinsic::ctlz.

@nikic, thank you, I'm having a look at these now. Just a few considerations.

  1. I'm not entirely sure about the unit test failures: should the returned range simply not include zero, if the incoming interval may contain zero and ZeroIsPoison is true, as you noted? I reckoned that being more conservative (unknown/overdefined) could be better here. Same applies for isEmptySet, we may want to return overdefined, I guess (I'm looking at Value of: CR.isEmptySet(), Actual: false, Expected: true)?.
  2. If we don't want to have ctlz API on APInt, could it be fine to overload TestUnaryOpExhaustive so that it accepts a callable reference to std::optional<unsigned>(const APInt &) too?
  3. range.ll now fails as the metadata's range is no longer being used now. I'm gradually realizing that this needs to be handled properly in CVP as well. Could it be fine to revert the ret i1 true to this change, considering that the range is now [0,16] (verification here) for this time, and postpone the handling in CVP for a separate dedicated patch?
Thu, Jan 26, 6:31 AM · Restricted Project, Restricted Project

Wed, Jan 25

antoniofrighetto updated the diff for D142234: [LVI] Handle Intrinsic::ctlz.
Wed, Jan 25, 10:19 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D142234: [LVI] Handle Intrinsic::ctlz.
Wed, Jan 25, 10:16 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D142234: [LVI] Handle Intrinsic::ctlz.
Wed, Jan 25, 6:25 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D142234: [LVI] Handle Intrinsic::ctlz.

Moved the implementation in ConstantRange.cpp, and tested exhaustively. For the sake of completeness and rigor, I left the test in LVI, further improved: it shouldn’t harm, and there are similar unit tests in ConstantRangeTest.cpp which are also in test/Analysis.

Wed, Jan 25, 3:57 AM · Restricted Project, Restricted Project

Fri, Jan 20

antoniofrighetto added inline comments to D142234: [LVI] Handle Intrinsic::ctlz.
Fri, Jan 20, 9:41 AM · Restricted Project, Restricted Project
antoniofrighetto requested review of D142234: [LVI] Handle Intrinsic::ctlz.
Fri, Jan 20, 9:36 AM · Restricted Project, Restricted Project

Thu, Jan 12

antoniofrighetto abandoned D141498: [LVI] Handle `x & 0xfff0 == 0x1230` comparison.

Following thorough investigation, it turns out that the introduced interval range refinement has already been covered in db9d00c by @nikic. Closing this, sorry for the incident.

Thu, Jan 12, 8:30 AM · Restricted Project, Restricted Project

Wed, Jan 11

antoniofrighetto requested review of D141498: [LVI] Handle `x & 0xfff0 == 0x1230` comparison.
Wed, Jan 11, 7:14 AM · Restricted Project, Restricted Project

Oct 25 2022

antoniofrighetto added a comment to D129868: [SystemZInstPrinter] Introduce markup tags emission.

@uweigand, thanks for reviewing them! Might I ask you to commit it on my behalf, please (as I do not have commit access, account associated to GitHub)? Thank you.

Oct 25 2022, 9:53 AM · Restricted Project, Restricted Project

Oct 24 2022

antoniofrighetto added inline comments to D129868: [SystemZInstPrinter] Introduce markup tags emission.
Oct 24 2022, 12:28 PM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129868: [SystemZInstPrinter] Introduce markup tags emission.
Oct 24 2022, 12:27 PM · Restricted Project, Restricted Project

Oct 22 2022

antoniofrighetto added a comment to D129868: [SystemZInstPrinter] Introduce markup tags emission.

Hello @uweigand, I apologize for being late on this. From the build, it looks like some systemz tests are failing because the register name is actually not emitted. Is it possible that I'm not handling properly it via SystemZInstPrinter::getRegisterName? Do you have any clue by any chance? The duplicated code in SystemZAsmPrinter.cpp looks correct to me.

Oct 22 2022, 3:14 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129868: [SystemZInstPrinter] Introduce markup tags emission.
Oct 22 2022, 2:01 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129868: [SystemZInstPrinter] Introduce markup tags emission.
Oct 22 2022, 1:24 AM · Restricted Project, Restricted Project

Sep 19 2022

antoniofrighetto added a comment to D129868: [SystemZInstPrinter] Introduce markup tags emission.

@MaskRay, as there do not seem to be further concerns, could you kindly commit this on my behalf please (I do not have commit access)?

Sep 19 2022, 1:16 PM · Restricted Project, Restricted Project

Sep 13 2022

antoniofrighetto updated the diff for D129870: [AArch64InstPrinter] Introduce register markup tags emission.
Sep 13 2022, 5:54 AM · Restricted Project, Restricted Project
antoniofrighetto added a comment to D129868: [SystemZInstPrinter] Introduce markup tags emission.

@MaskRay, test added for this patch too, failure of unit tests seems completely unrelated to the change.

Sep 13 2022, 4:24 AM · Restricted Project, Restricted Project
antoniofrighetto added a comment to D129870: [AArch64InstPrinter] Introduce register markup tags emission.

@MaskRay, fixed by extending properly the patch. Coverage test preserved, and added a further one for completeness.

Sep 13 2022, 4:22 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129870: [AArch64InstPrinter] Introduce register markup tags emission.
Sep 13 2022, 4:19 AM · Restricted Project, Restricted Project

Sep 11 2022

antoniofrighetto updated the diff for D129870: [AArch64InstPrinter] Introduce register markup tags emission.
Sep 11 2022, 1:07 AM · Restricted Project, Restricted Project

Sep 10 2022

antoniofrighetto added a comment to D129868: [SystemZInstPrinter] Introduce markup tags emission.

@uweigand, we leverage LLVM disassembler (and, specifically, MCInstPrinter::printInst) as part of our static binary translator tool, here, though I assume I could count many other uses that I'm not aware of (we've updated other targets too in order to support markup).

Sep 10 2022, 2:05 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129868: [SystemZInstPrinter] Introduce markup tags emission.
Sep 10 2022, 1:52 AM · Restricted Project, Restricted Project
antoniofrighetto added a comment to D129870: [AArch64InstPrinter] Introduce register markup tags emission.

@MaskRay, rebased to trunk & added more coverage test!

Sep 10 2022, 1:45 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129870: [AArch64InstPrinter] Introduce register markup tags emission.
Sep 10 2022, 1:44 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129870: [AArch64InstPrinter] Introduce register markup tags emission.
Sep 10 2022, 1:40 AM · Restricted Project, Restricted Project

Sep 2 2022

antoniofrighetto added a comment to D129870: [AArch64InstPrinter] Introduce register markup tags emission.

@MaskRay, yeah, sorry, I should have probably specified it :/ Essentially, the other commit 4e9907977465 was relying on this one, so this one should have been pushed before, as the other contained the test (which leverages on this change too). Hence, there should be no need to actually introduce tests for this one, as already introduced in the other commit.

Sep 2 2022, 12:30 AM · Restricted Project, Restricted Project

Aug 28 2022

antoniofrighetto updated the diff for D129868: [SystemZInstPrinter] Introduce markup tags emission.
Aug 28 2022, 7:57 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129868: [SystemZInstPrinter] Introduce markup tags emission.
Aug 28 2022, 6:26 AM · Restricted Project, Restricted Project

Aug 27 2022

antoniofrighetto updated the diff for D129868: [SystemZInstPrinter] Introduce markup tags emission.
Aug 27 2022, 6:13 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129868: [SystemZInstPrinter] Introduce markup tags emission.
Aug 27 2022, 3:42 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129868: [SystemZInstPrinter] Introduce markup tags emission.

Fixed a small regression.

Aug 27 2022, 3:11 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129868: [SystemZInstPrinter] Introduce markup tags emission.
Aug 27 2022, 3:06 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129868: [SystemZInstPrinter] Introduce markup tags emission.
Aug 27 2022, 1:42 AM · Restricted Project, Restricted Project

Aug 26 2022

antoniofrighetto updated the diff for D129868: [SystemZInstPrinter] Introduce markup tags emission.
Aug 26 2022, 12:44 PM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129871: [AArch64InstPrinter] Introduce immediate markup tags emission.
Aug 26 2022, 11:04 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129871: [AArch64InstPrinter] Introduce immediate markup tags emission.
Aug 26 2022, 7:46 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129867: [MipsInstPrinter] Introduce markup tags emission.
Aug 26 2022, 7:44 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129868: [SystemZInstPrinter] Introduce markup tags emission.
Aug 26 2022, 7:41 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129869: [X86InstPrinter] Introduce markup tags emission.
Aug 26 2022, 7:38 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129869: [X86InstPrinter] Introduce markup tags emission.

@MaskRay, test added!

Aug 26 2022, 7:34 AM · Restricted Project, Restricted Project
antoniofrighetto added a comment to D129868: [SystemZInstPrinter] Introduce markup tags emission.

@uweigand, mostly third-party clients such as disassemblers and pretty printers, as per official documentation. Already supported by ARM as well as x64.

Aug 26 2022, 7:01 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129871: [AArch64InstPrinter] Introduce immediate markup tags emission.

@MaskRay, test added!

Aug 26 2022, 6:56 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129867: [MipsInstPrinter] Introduce markup tags emission.

@MaskRay, test added!

Aug 26 2022, 6:20 AM · Restricted Project, Restricted Project
antoniofrighetto added a reviewer for D129868: [SystemZInstPrinter] Introduce markup tags emission: uweigand.
Aug 26 2022, 5:33 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129868: [SystemZInstPrinter] Introduce markup tags emission.

Test added.

Aug 26 2022, 5:32 AM · Restricted Project, Restricted Project

Aug 25 2022

antoniofrighetto added a comment to D129870: [AArch64InstPrinter] Introduce register markup tags emission.

/cc @MaskRay

Aug 25 2022, 1:10 AM · Restricted Project, Restricted Project

Aug 20 2022

antoniofrighetto added a comment to D129870: [AArch64InstPrinter] Introduce register markup tags emission.

@david-arm, thanks for the nit, had missed this. I just updated the diff w/ that change included. Mind committing it on my behalf (GitHub account associated to this profile, as I do not have commit access)? Thank you.

Aug 20 2022, 10:44 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129870: [AArch64InstPrinter] Introduce register markup tags emission.
Aug 20 2022, 10:42 AM · Restricted Project, Restricted Project

Jul 15 2022

antoniofrighetto requested review of D129871: [AArch64InstPrinter] Introduce immediate markup tags emission.
Jul 15 2022, 8:55 AM · Restricted Project, Restricted Project
antoniofrighetto requested review of D129870: [AArch64InstPrinter] Introduce register markup tags emission.
Jul 15 2022, 8:54 AM · Restricted Project, Restricted Project
antoniofrighetto requested review of D129869: [X86InstPrinter] Introduce markup tags emission.
Jul 15 2022, 8:50 AM · Restricted Project, Restricted Project
antoniofrighetto requested review of D129868: [SystemZInstPrinter] Introduce markup tags emission.
Jul 15 2022, 8:47 AM · Restricted Project, Restricted Project
antoniofrighetto requested review of D129867: [MipsInstPrinter] Introduce markup tags emission.
Jul 15 2022, 8:45 AM · Restricted Project, Restricted Project

Jul 13 2022

antoniofrighetto updated the diff for D129567: [Fixed Point] Fix C++20 compilation error.
Jul 13 2022, 3:52 AM · Restricted Project, Restricted Project

Jul 12 2022

antoniofrighetto updated the diff for D129567: [Fixed Point] Fix C++20 compilation error.
Jul 12 2022, 12:03 PM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D129567: [Fixed Point] Fix C++20 compilation error.
Jul 12 2022, 10:03 AM · Restricted Project, Restricted Project
antoniofrighetto requested review of D129567: [Fixed Point] Fix C++20 compilation error.
Jul 12 2022, 8:50 AM · Restricted Project, Restricted Project

Apr 7 2022

antoniofrighetto added a comment to D122808: [clang] Fix warnings when `-Wdeprecated-enum-enum-conversion` is enabled.

Awesome, thank you for reviewing this! PS: I do not have commit access, feel free to close it, if you say.

Apr 7 2022, 5:01 AM · Restricted Project, Restricted Project, Restricted Project
antoniofrighetto added inline comments to D122808: [clang] Fix warnings when `-Wdeprecated-enum-enum-conversion` is enabled.
Apr 7 2022, 12:40 AM · Restricted Project, Restricted Project, Restricted Project
antoniofrighetto updated the diff for D122808: [clang] Fix warnings when `-Wdeprecated-enum-enum-conversion` is enabled.
Apr 7 2022, 12:38 AM · Restricted Project, Restricted Project, Restricted Project

Apr 6 2022

antoniofrighetto updated the diff for D122808: [clang] Fix warnings when `-Wdeprecated-enum-enum-conversion` is enabled.
Apr 6 2022, 11:42 AM · Restricted Project, Restricted Project, Restricted Project
antoniofrighetto added a comment to D122808: [clang] Fix warnings when `-Wdeprecated-enum-enum-conversion` is enabled.

Fixed the change, and added a new test. Hope the coverage is at a fairly good level now!

Apr 6 2022, 8:45 AM · Restricted Project, Restricted Project, Restricted Project
antoniofrighetto updated the diff for D122808: [clang] Fix warnings when `-Wdeprecated-enum-enum-conversion` is enabled.
Apr 6 2022, 8:43 AM · Restricted Project, Restricted Project, Restricted Project

Apr 5 2022

antoniofrighetto added a comment to D122003: Add support for more archs in `Triple::getArchTypeForLLVMName`.

@probinson, sorry for late reply, it turns out that the sub-project, which this change was needed for, has been recently dismissed, so no longer needed. Also, we did not have any change of ours to provide, alongside the patch. That said, considering that the inverse function parseArch already supports s390x and the proposed change is fairly minimal (besides that getArchTypeForLLVMName is already tested via lookupTarget), I'm still wondering if part of the patch (at least the case adding s390x arch) could be beneficial. If you think it's not, I'll close the review.

Apr 5 2022, 6:24 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D122808: [clang] Fix warnings when `-Wdeprecated-enum-enum-conversion` is enabled.
Apr 5 2022, 5:07 AM · Restricted Project, Restricted Project, Restricted Project

Apr 4 2022

antoniofrighetto added a comment to D122808: [clang] Fix warnings when `-Wdeprecated-enum-enum-conversion` is enabled.

Looks definitely better! How about this slightly changed version protecting the interface?

/// Helper which adds two underlying types of enumeration type.
template <typename EnumTy1,
          typename EnumTy2,
          typename UT1 = std::enable_if_t<std::is_enum_v<EnumTy1>, std::underlying_type_t<EnumTy1>>,
          typename UT2 = std::enable_if_t<std::is_enum_v<EnumTy2>, std::underlying_type_t<EnumTy2>>>
constexpr auto addEnumValues(EnumTy1 LHS, EnumTy2 RHS) {
  return static_cast<UT1>(LHS) + static_cast<UT2>(RHS);
}

I feel like this is something we may wish to readopt in the future for other similar cases as well (e.g., -Wdeprecated-anon-enum-enum-conversion in Comment.h).

Apr 4 2022, 1:35 AM · Restricted Project, Restricted Project, Restricted Project

Mar 31 2022

antoniofrighetto retitled D122808: [clang] Fix warnings when `-Wdeprecated-enum-enum-conversion` is enabled from [clang] Fix warnings with `-Wdeprecated-enum-enum-conversion` is enabled to [clang] Fix warnings when `-Wdeprecated-enum-enum-conversion` is enabled.
Mar 31 2022, 6:26 AM · Restricted Project, Restricted Project, Restricted Project
antoniofrighetto requested review of D122808: [clang] Fix warnings when `-Wdeprecated-enum-enum-conversion` is enabled.
Mar 31 2022, 6:24 AM · Restricted Project, Restricted Project, Restricted Project

Mar 22 2022

antoniofrighetto added a comment to D122003: Add support for more archs in `Triple::getArchTypeForLLVMName`.

I have updated the patch by removing the case for x86_64. Although it looks like that's a known problem in LLVM (converting the arch-name to Triple::x86_64 and then back to string does not return the original name), this may warrant a separate fix; so that, should something break up, we may easily revert it, and not blame this change.

Mar 22 2022, 4:13 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D122003: Add support for more archs in `Triple::getArchTypeForLLVMName`.
Mar 22 2022, 4:04 AM · Restricted Project, Restricted Project

Mar 18 2022

antoniofrighetto added a comment to D121993: Mark derived destructors as `override`.

@dblaikie: That's true, admittedly, had not noticed the protected dtor (which works as well). Fixed it up, thanks for contextualizing.

Mar 18 2022, 1:28 PM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D121993: Mark derived destructors as `override`.
Mar 18 2022, 1:25 PM · Restricted Project, Restricted Project
antoniofrighetto added inline comments to D121993: Mark derived destructors as `override`.
Mar 18 2022, 9:39 AM · Restricted Project, Restricted Project
antoniofrighetto added a comment to D122003: Add support for more archs in `Triple::getArchTypeForLLVMName`.

Test? I'm a little surprised that changing the spelling of an arch didn't cause any failures.

Mar 18 2022, 8:11 AM · Restricted Project, Restricted Project
antoniofrighetto updated the diff for D122003: Add support for more archs in `Triple::getArchTypeForLLVMName`.
Mar 18 2022, 7:57 AM · Restricted Project, Restricted Project
antoniofrighetto added a reviewer for D122003: Add support for more archs in `Triple::getArchTypeForLLVMName`: bkramer.
Mar 18 2022, 6:48 AM · Restricted Project, Restricted Project
antoniofrighetto requested review of D122003: Add support for more archs in `Triple::getArchTypeForLLVMName`.
Mar 18 2022, 6:45 AM · Restricted Project, Restricted Project
antoniofrighetto added reviewers for D121993: Mark derived destructors as `override`: dblaikie, nikic.
Mar 18 2022, 4:38 AM · Restricted Project, Restricted Project
antoniofrighetto requested review of D121993: Mark derived destructors as `override`.
Mar 18 2022, 4:33 AM · Restricted Project, Restricted Project

Sep 19 2021

antoniofrighetto reopened D109888: Bitcast wrapped in a call obscures function attributes, pessimizing MemorySSA.

I don't have commit access, may anybody close this, please?

Sep 19 2021, 11:24 AM · Restricted Project
antoniofrighetto closed D109888: Bitcast wrapped in a call obscures function attributes, pessimizing MemorySSA.
Sep 19 2021, 11:18 AM · Restricted Project

Sep 16 2021

antoniofrighetto added a comment to D109888: Bitcast wrapped in a call obscures function attributes, pessimizing MemorySSA.

I'm okay with this for the case of function attributes in particular, because those don't really depend on ABI considerations. I will say though that you're brushing really close to UB here, and I may push back against extending other places in this direction. Like, say you have a void(i128) and call it as void(i64, i64) knowing that under the particular ABI used those two i64s will assemble into an i128 -- is that a legal call? In what manner would a function param attribute correlate with call arguments there?

Sep 16 2021, 12:16 PM · Restricted Project
antoniofrighetto added inline comments to D109888: Bitcast wrapped in a call obscures function attributes, pessimizing MemorySSA.
Sep 16 2021, 11:16 AM · Restricted Project
antoniofrighetto updated the diff for D109888: Bitcast wrapped in a call obscures function attributes, pessimizing MemorySSA.
Sep 16 2021, 11:07 AM · Restricted Project
antoniofrighetto updated the diff for D109888: Bitcast wrapped in a call obscures function attributes, pessimizing MemorySSA.
Sep 16 2021, 10:39 AM · Restricted Project
antoniofrighetto updated the diff for D109888: Bitcast wrapped in a call obscures function attributes, pessimizing MemorySSA.
Sep 16 2021, 8:35 AM · Restricted Project
antoniofrighetto updated the diff for D109888: Bitcast wrapped in a call obscures function attributes, pessimizing MemorySSA.
Sep 16 2021, 8:19 AM · Restricted Project
antoniofrighetto requested review of D109888: Bitcast wrapped in a call obscures function attributes, pessimizing MemorySSA.
Sep 16 2021, 8:07 AM · Restricted Project