Page MenuHomePhabricator

miyuki (Mikhail Maltsev)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 6 2017, 10:05 AM (115 w, 6 d)

Recent Activity

Fri, Jan 17

miyuki accepted D70183: Detect source location overflow due includes.

LGTM, but since we both work at Arm, let's wait a week for other folks to chime in if they have any objections.

Fri, Jan 17, 11:02 AM · Restricted Project
miyuki added a comment to D69840: [Basic] Make SourceLocation usable as key in hash maps, NFCI.

ping^4

Fri, Jan 17, 8:37 AM · Restricted Project

Mon, Dec 30

miyuki accepted D71991: Fix external-names.c test when separator is \\.

LGTM. Let's wait for someone else to approve (or commit after holidays if no one objects).

Mon, Dec 30, 3:12 AM · Restricted Project

Dec 18 2019

miyuki added a comment to D71459: [libcxx] Fix include paths in fuzzing/partial_sort.pass.cpp.

Does this change break OSS-Fuzz? Did anyone try?

I did not know that these tests are supposed to interact with an external component. Sorry about that. I'll wait for approval from the libc++ approvers in my future patches.

Dec 18 2019, 6:57 AM · Restricted Project

Dec 17 2019

miyuki committed rG67ce7f51a50f: [libcxx] Fix include paths in fuzzing/partial_sort.pass.cpp (authored by miyuki).
[libcxx] Fix include paths in fuzzing/partial_sort.pass.cpp
Dec 17 2019, 3:57 AM
miyuki closed D71459: [libcxx] Fix include paths in fuzzing/partial_sort.pass.cpp.
Dec 17 2019, 3:57 AM · Restricted Project

Dec 13 2019

miyuki committed rG99581fd4c8e1: [ARM][MVE] Add vector reduction intrinsics with two vector operands (authored by miyuki).
[ARM][MVE] Add vector reduction intrinsics with two vector operands
Dec 13 2019, 5:22 AM
miyuki closed D71062: [ARM][MVE] Add vector reduction intrinsics with two vector operands.
Dec 13 2019, 5:22 AM · Restricted Project, Restricted Project
miyuki added inline comments to D71062: [ARM][MVE] Add vector reduction intrinsics with two vector operands.
Dec 13 2019, 5:21 AM · Restricted Project, Restricted Project
miyuki created D71459: [libcxx] Fix include paths in fuzzing/partial_sort.pass.cpp.
Dec 13 2019, 3:22 AM · Restricted Project

Dec 11 2019

miyuki updated the diff for D71062: [ARM][MVE] Add vector reduction intrinsics with two vector operands.

Fix formatting

Dec 11 2019, 8:58 AM · Restricted Project, Restricted Project
miyuki updated the diff for D71062: [ARM][MVE] Add vector reduction intrinsics with two vector operands.

Use TableGen patterns for ISel when possible

Dec 11 2019, 6:36 AM · Restricted Project, Restricted Project
miyuki accepted D71335: [ARM][MVE] Factor out an IntrinsicMX multiclass..

LGTM

Dec 11 2019, 3:13 AM · Restricted Project

Dec 10 2019

miyuki committed rGe6d3261c67ec: [ARM][MVE] Refactor complex vector intrinsics [NFCI] (authored by miyuki).
[ARM][MVE] Refactor complex vector intrinsics [NFCI]
Dec 10 2019, 8:25 AM
miyuki closed D71245: [ARM][MVE] Refactor complex vector intrinsics [NFCI].
Dec 10 2019, 8:24 AM · Restricted Project, Restricted Project
miyuki created D71245: [ARM][MVE] Refactor complex vector intrinsics [NFCI].
Dec 10 2019, 2:32 AM · Restricted Project, Restricted Project

Dec 9 2019

miyuki committed rG0d1490bf6a68: [ARM][MVE] Add complex vector intrinsics (authored by miyuki).
[ARM][MVE] Add complex vector intrinsics
Dec 9 2019, 4:10 AM
miyuki closed D71190: [ARM][MVE] Add complex vector intrinsics.
Dec 9 2019, 4:10 AM · Restricted Project, Restricted Project
miyuki created D71190: [ARM][MVE] Add complex vector intrinsics.
Dec 9 2019, 2:59 AM · Restricted Project, Restricted Project

Dec 6 2019

miyuki accepted D71114: [ARM][MVE] Fix copy-paste error in VQSHL instruction ids..
Dec 6 2019, 7:15 AM · Restricted Project

Dec 5 2019

miyuki added inline comments to D71066: [ARM][MVE][Intrinsics] Add VMULL[BT]Q_(INT|POLY) intrinsics..
Dec 5 2019, 9:25 AM · Restricted Project, Restricted Project
miyuki added a reviewer for D71062: [ARM][MVE] Add vector reduction intrinsics with two vector operands: MarkMurrayARM.
Dec 5 2019, 7:59 AM · Restricted Project, Restricted Project
miyuki created D71062: [ARM][MVE] Add vector reduction intrinsics with two vector operands.
Dec 5 2019, 6:11 AM · Restricted Project, Restricted Project

Dec 2 2019

miyuki added a comment to D70183: Detect source location overflow due includes.

clang shall either die due an assert in debug [...]

I think I have already mentioned the reasons why I don't think this is acceptable:

  • it would break tests, as they are usually run with enabled assertions (and since this diagnostic is quite easy to test, it should be tested)
  • it would make the code harder to debug (i.e. if someone finds another problem related to large includes, they would first need to fix the failing assertions before they could start debugging their problem)
Dec 2 2019, 7:58 AM · Restricted Project
miyuki added a comment to D69840: [Basic] Make SourceLocation usable as key in hash maps, NFCI.

ping^3

Dec 2 2019, 2:59 AM · Restricted Project
miyuki added reviewers for D69840: [Basic] Make SourceLocation usable as key in hash maps, NFCI: thakis, dexonsmith.
Dec 2 2019, 2:59 AM · Restricted Project

Nov 28 2019

miyuki added inline comments to D70815: Enable `-funwind-tables` flag when building libunwind.
Nov 28 2019, 8:05 AM · Restricted Project
miyuki added a comment to D70397: [libunwind] Adjust the signal_frame test for Arm.

I don't know signal frame but I think the purpose of that assert is to check unw_step return value > 0 from main if that is a signal frame. Adding another frame will make that assert always be true, regardless of signal frame, thus it is not testing signal frame anymore.

That might not be the case. unw_is_signal_frame works after the stepping out of the signal frame, i.e. we need to call unw_step anyway. @saugustine is the author of the test and he approved my patch, so presumably the test should not depend on whether the signal_frame function is main() or not.

Nov 28 2019, 3:41 AM · Restricted Project

Nov 22 2019

miyuki added a comment to D69840: [Basic] Make SourceLocation usable as key in hash maps, NFCI.

ping^2

Nov 22 2019, 6:41 AM · Restricted Project

Nov 20 2019

miyuki added a comment to D70397: [libunwind] Adjust the signal_frame test for Arm.

In this patch, add another stack frame completely defeat the purpose of assert(unw_step(&cursor) > 0);.

Is the DWARF unwinder supposed to be always able to step out of main()?

Nov 20 2019, 10:12 AM · Restricted Project

Nov 19 2019

miyuki added a comment to D70183: Detect source location overflow due includes.

Git diff 979ae80af7ec49624b932954d22cb91900f17121 did not send a test as well. Feel free to send me a reasonable sized reproducer, the one I have is about 36MB. Don't think it will be that well received.

Nov 19 2019, 9:38 AM · Restricted Project
miyuki requested changes to D70183: Detect source location overflow due includes.

This essentially means that if there is a problem related to this change, say something goes wrong after return FileID(); it would be impossible to debug until the corresponding assertions are fixed. Also the patch lacks tests (and adding a test is impossible because it would fail in debug builds).

Nov 19 2019, 6:43 AM · Restricted Project
miyuki added a comment to D70183: Detect source location overflow due includes.

Yes. It does return a non-valid FileID, and in builds without assert you get the expected error message.

Nov 19 2019, 6:02 AM · Restricted Project
miyuki added inline comments to D70183: Detect source location overflow due includes.
Nov 19 2019, 3:41 AM · Restricted Project
miyuki committed rG4fb8ecdef4c9: [libunwind] Adjust the signal_frame test for Arm (authored by miyuki).
[libunwind] Adjust the signal_frame test for Arm
Nov 19 2019, 2:08 AM
miyuki closed D70397: [libunwind] Adjust the signal_frame test for Arm.
Nov 19 2019, 2:08 AM · Restricted Project

Nov 18 2019

miyuki created D70397: [libunwind] Adjust the signal_frame test for Arm.
Nov 18 2019, 7:24 AM · Restricted Project

Nov 14 2019

miyuki added a comment to D69840: [Basic] Make SourceLocation usable as key in hash maps, NFCI.

ping

Nov 14 2019, 3:34 AM · Restricted Project

Nov 13 2019

miyuki abandoned D70090: [ARM] -mfpu=*-sp-d16 should imply that D registers are available.
Nov 13 2019, 10:20 AM · Restricted Project
miyuki added inline comments to D70183: Detect source location overflow due includes.
Nov 13 2019, 8:58 AM · Restricted Project
miyuki added inline comments to D70183: Detect source location overflow due includes.
Nov 13 2019, 8:27 AM · Restricted Project
miyuki added inline comments to D70183: Detect source location overflow due includes.
Nov 13 2019, 8:27 AM · Restricted Project

Nov 11 2019

miyuki created D70090: [ARM] -mfpu=*-sp-d16 should imply that D registers are available.
Nov 11 2019, 9:26 AM · Restricted Project

Nov 6 2019

miyuki added a parent revision for D69903: [Basic] Introduce PODSourceLocation, NFCI: D69840: [Basic] Make SourceLocation usable as key in hash maps, NFCI.
Nov 6 2019, 9:22 AM · Restricted Project
miyuki removed a child revision for D69840: [Basic] Make SourceLocation usable as key in hash maps, NFCI: D69903: [Basic] Introduce PODSourceLocation, NFCI.
Nov 6 2019, 9:22 AM · Restricted Project
miyuki edited parent revisions for D69903: [Basic] Introduce PODSourceLocation, NFCI, added: 1; removed: 1.
Nov 6 2019, 9:22 AM · Restricted Project
miyuki added a child revision for D69844: [Basic] Integrate SourceLocation with FoldingSet, NFCI: D69903: [Basic] Introduce PODSourceLocation, NFCI.
Nov 6 2019, 9:22 AM · Restricted Project
miyuki created D69903: [Basic] Introduce PODSourceLocation, NFCI.
Nov 6 2019, 9:22 AM · Restricted Project
miyuki added a child revision for D69840: [Basic] Make SourceLocation usable as key in hash maps, NFCI: D69903: [Basic] Introduce PODSourceLocation, NFCI.
Nov 6 2019, 9:22 AM · Restricted Project

Nov 5 2019

miyuki added a comment to D69840: [Basic] Make SourceLocation usable as key in hash maps, NFCI.

The motivation is to be able to make source locations' underlying type configurable. Richard Smith suggested that this might be feasible: http://lists.llvm.org/pipermail/cfe-dev/2019-October/063515.html
So, the first step is to get rid of getRawEncoding where possible. I think this would make the code cleaner anyway.

Nov 5 2019, 9:24 AM · Restricted Project
miyuki updated the diff for D69840: [Basic] Make SourceLocation usable as key in hash maps, NFCI.

Changed getRawEncoding -> getHashValue in Sema.h

Nov 5 2019, 8:56 AM · Restricted Project
miyuki added a parent revision for D69844: [Basic] Integrate SourceLocation with FoldingSet, NFCI: D69840: [Basic] Make SourceLocation usable as key in hash maps, NFCI.
Nov 5 2019, 7:14 AM · Restricted Project
miyuki added a child revision for D69840: [Basic] Make SourceLocation usable as key in hash maps, NFCI: D69844: [Basic] Integrate SourceLocation with FoldingSet, NFCI.
Nov 5 2019, 7:14 AM · Restricted Project
miyuki created D69844: [Basic] Integrate SourceLocation with FoldingSet, NFCI.
Nov 5 2019, 7:05 AM · Restricted Project
miyuki edited reviewers for D69840: [Basic] Make SourceLocation usable as key in hash maps, NFCI, added: JDevlieghere; removed: jdoerfert.
Nov 5 2019, 4:14 AM · Restricted Project
miyuki created D69840: [Basic] Make SourceLocation usable as key in hash maps, NFCI.
Nov 5 2019, 4:14 AM · Restricted Project

Oct 17 2019

miyuki committed rGb6534b2a26fa: [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset… (authored by miyuki).
[Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset…
Oct 17 2019, 2:03 AM
miyuki closed D68342: [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset (PR42699).
Oct 17 2019, 2:02 AM · Restricted Project
miyuki committed rL375089: [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset….
[Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset…
Oct 17 2019, 1:57 AM

Oct 16 2019

miyuki added a comment to D68342: [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset (PR42699).

@lebedev.ri, do you agree that all address spaces should be treated the same way as address space 0 (i.e. no signed overflow)?

I wouldn't be surprised if that isn't so, i don't think it's really documented what normal assumptions do and don't apply to non-0-address-spaces.

OK, let's stick to what is documented for GEP (and the status quo about objects larger than half of the address space).

Oct 16 2019, 5:53 AM · Restricted Project
miyuki updated the diff for D68342: [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset (PR42699).

Don't treat non-zero address space specially

Oct 16 2019, 5:49 AM · Restricted Project
miyuki committed rG95b5d459a0eb: [ARM] Add a register class for GPR pairs without SP and use it. NFCI (authored by miyuki).
[ARM] Add a register class for GPR pairs without SP and use it. NFCI
Oct 16 2019, 3:43 AM
miyuki closed D69026: [ARM] Add a register class for GPR pairs without SP and use it. NFCI.
Oct 16 2019, 3:43 AM · Restricted Project
miyuki committed rL374990: [ARM] Add a register class for GPR pairs without SP and use it. NFCI.
[ARM] Add a register class for GPR pairs without SP and use it. NFCI
Oct 16 2019, 3:43 AM
miyuki added inline comments to D69026: [ARM] Add a register class for GPR pairs without SP and use it. NFCI.
Oct 16 2019, 2:59 AM · Restricted Project
miyuki created D69026: [ARM] Add a register class for GPR pairs without SP and use it. NFCI.
Oct 16 2019, 2:55 AM · Restricted Project
miyuki added a comment to D68342: [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset (PR42699).

@lebedev.ri, do you agree that all address spaces should be treated the same way as address space 0 (i.e. no signed overflow)?

Oct 16 2019, 2:20 AM · Restricted Project

Oct 15 2019

miyuki updated the diff for D68342: [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset (PR42699).

Added the NSW flag. This discussion thread also suggests that signed overflows should not occur in the inbounds GEPs: https://lists.llvm.org/pipermail/llvm-dev/2017-November/118914.html

Oct 15 2019, 5:08 AM · Restricted Project

Oct 11 2019

miyuki added a comment to D68342: [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset (PR42699).

ping

Oct 11 2019, 8:33 AM · Restricted Project
miyuki added reviewers for D68342: [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset (PR42699): lebedev.ri, spatel.
Oct 11 2019, 8:33 AM · Restricted Project

Oct 4 2019

miyuki committed rGcfe8bedca034: [utils] Fix incompatibility of bisect[-skip-count] with Python 3 (authored by miyuki).
[utils] Fix incompatibility of bisect[-skip-count] with Python 3
Oct 4 2019, 9:44 AM
miyuki committed rL373759: [utils] Fix incompatibility of bisect[-skip-count] with Python 3.
[utils] Fix incompatibility of bisect[-skip-count] with Python 3
Oct 4 2019, 9:44 AM
miyuki closed D68138: [utils] Fix incompatibility of bisect[-skip-count] with Python 3.
Oct 4 2019, 9:44 AM · Restricted Project

Oct 3 2019

miyuki added a comment to D68342: [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset (PR42699).

So clang is perfectly correct here.

Yes, Clang is correct. EmitGEPOffset is doing the wrong thing.
nuw is incorrect because negative offsets are allowed. nsw would also be incorrect because of the quote you mentioned before:

Oct 3 2019, 2:34 AM · Restricted Project

Oct 2 2019

miyuki added a comment to D68342: [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset (PR42699).

I also thought that "in bounds address of an allocated object" has something to do with the type used in the GEP instruction, but that's not how Clang interprets it.
E.g. for the following code

int read(int *buf) {
  buf -= 2;
  return *buf;
}

It generates the following:

define dso_local i32 @_Z4readPi(i32* nocapture readonly %buf) local_unnamed_addr #0 {
entry:
  %add.ptr = getelementptr inbounds i32, i32* %buf, i64 -2
  %0 = load i32, i32* %add.ptr, align 4, !tbaa !2
  ret i32 %0
}

I do not understand this point, could you elaborate please?

Oct 2 2019, 11:11 AM · Restricted Project
miyuki added a comment to D68342: [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset (PR42699).

I'm not fully convinced this is correct, as per
https://llvm.org/docs/LangRef.html#getelementptr-instruction

If the inbounds keyword is present, the result value of the getelementptr is a poison value
if the base pointer is not an in bounds address of an allocated object, or if any of the
addresses that would be formed by successive addition of the offsets implied by the indices
to the base address with infinitely precise signed arithmetic are not an in bounds address
of that allocated object. <...>

I also thought that "in bounds address of an allocated object" has something to do with the type used in the GEP instruction, but that's not how Clang interprets it.
E.g. for the following code

Oct 2 2019, 10:46 AM · Restricted Project
miyuki created D68342: [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset (PR42699).
Oct 2 2019, 9:56 AM · Restricted Project

Oct 1 2019

miyuki updated the diff for D68138: [utils] Fix incompatibility of bisect[-skip-count] with Python 3.

Added from __future__ import print_function

Oct 1 2019, 7:52 AM · Restricted Project

Sep 30 2019

miyuki added a comment to D68138: [utils] Fix incompatibility of bisect[-skip-count] with Python 3.

What happens when this is run with python 2 in the path? Should this explicitly run via python3?

Sep 30 2019, 1:18 AM · Restricted Project

Sep 27 2019

miyuki created D68138: [utils] Fix incompatibility of bisect[-skip-count] with Python 3.
Sep 27 2019, 6:21 AM · Restricted Project

Sep 26 2019

miyuki accepted D68025: [MC][ARM] vscclrm disassembles as vldmia.
Sep 26 2019, 10:28 AM · Restricted Project
miyuki added inline comments to D68025: [MC][ARM] vscclrm disassembles as vldmia.
Sep 26 2019, 7:27 AM · Restricted Project

Sep 5 2019

miyuki committed rL371049: Request commit access for miyuki.
Request commit access for miyuki
Sep 5 2019, 3:21 AM

Sep 3 2019

miyuki added a comment to D61144: [LoopIdiomRecognize] BCmp loop idiom recognition.

Could you please look into https://bugs.llvm.org/show_bug.cgi?id=43206 ?

Sep 3 2019, 7:47 AM · Restricted Project

Aug 30 2019

miyuki added a comment to D65497: [RISCV] Avoid generating AssertZext for LP64 ABI when lowering floating Libcall.

Hi. Could you please look into https://bugs.llvm.org/show_bug.cgi?id=43183 (it seems to be related)

Aug 30 2019, 10:53 AM · Restricted Project

Aug 20 2019

miyuki added 1 commit(s) for D63284: [libc++] Keep __regex_word in sync with ctype_base: rCXX369364: [libcxx] Fix build breakage on mips.
Aug 20 2019, 3:22 AM · Restricted Project, Restricted Project
miyuki committed rGa83220c6f2ec: [libcxx] Fix build breakage on mips (authored by miyuki).
[libcxx] Fix build breakage on mips
Aug 20 2019, 3:20 AM
miyuki committed rL369364: [libcxx] Fix build breakage on mips.
[libcxx] Fix build breakage on mips
Aug 20 2019, 3:20 AM
miyuki added inline comments to D63284: [libc++] Keep __regex_word in sync with ctype_base.
Aug 20 2019, 3:07 AM · Restricted Project, Restricted Project

Jul 31 2019

miyuki committed rG806231ecc396: [ARM] Reject CSEL instructions with invalid operands (authored by miyuki).
[ARM] Reject CSEL instructions with invalid operands
Jul 31 2019, 7:23 AM
miyuki committed rL367433: [ARM] Reject CSEL instructions with invalid operands.
[ARM] Reject CSEL instructions with invalid operands
Jul 31 2019, 7:23 AM
miyuki closed D65505: [ARM] Reject CSEL instructions with invalid operands.
Jul 31 2019, 7:23 AM · Restricted Project
miyuki created D65505: [ARM] Reject CSEL instructions with invalid operands.
Jul 31 2019, 3:49 AM · Restricted Project

Jul 22 2019

miyuki committed rGb64b9009628d: [libunwind][ARM] Fix types in _Unwind_VRS_Get. (authored by miyuki).
[libunwind][ARM] Fix types in _Unwind_VRS_Get.
Jul 22 2019, 9:45 AM
miyuki committed rL366701: [libunwind][ARM] Fix types in _Unwind_VRS_Get..
[libunwind][ARM] Fix types in _Unwind_VRS_Get.
Jul 22 2019, 9:44 AM

Jul 19 2019

miyuki committed rGf41e62715729: [libunwind][ARM] Fix loading FP registers on big-endian targets (authored by miyuki).
[libunwind][ARM] Fix loading FP registers on big-endian targets
Jul 19 2019, 8:24 AM
miyuki committed rL366587: [libunwind][ARM] Fix loading FP registers on big-endian targets.
[libunwind][ARM] Fix loading FP registers on big-endian targets
Jul 19 2019, 8:20 AM
miyuki closed D64996: [libunwind][ARM] Fix loading FP registers on big-endian targets.
Jul 19 2019, 8:20 AM · Restricted Project, Restricted Project
miyuki created D64996: [libunwind][ARM] Fix loading FP registers on big-endian targets.
Jul 19 2019, 7:40 AM · Restricted Project, Restricted Project
miyuki committed rG0b001f94a54a: [ARM] Add <saturate> operand to SQRSHRL and UQRSHLL (authored by miyuki).
[ARM] Add <saturate> operand to SQRSHRL and UQRSHLL
Jul 19 2019, 2:49 AM