Page MenuHomePhabricator

aykevl (Ayke)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 25 2018, 9:12 AM (77 w, 4 d)

Recent Activity

Aug 18 2019

aykevl updated subscribers of D64830: [Xtensa 4/10] Add basic *td files with Xtensa architecture description..

I do not think there is a reason why the Xtensa architecture shouldn't be included in LLVM. As a comparison, there is also the proprietary (Google) Lanai architecture which was added at a time when there was little public information on it and to this time nobody can actually buy Lanai hardware (there is only a simulator). As a comparison, Xtensa has easy to get hardware (in the form of the ESP8266/ESP32) and is already supported in GCC/binutils.

Aug 18 2019, 2:43 PM · Restricted Project
aykevl created D66395: [util] Add check to git-llvm to avoid pushing to a non-trunk branch.
Aug 18 2019, 11:41 AM · Restricted Project
aykevl updated subscribers of D66379: [bindings/go] Add ParseIR.

@hans can you help me out? I accidentally pushed to the release_80 branch instead of to trunk, because of a mistake in my git-llvm configuration. I think it should be reverted.
Also see IRC logs starting 17:52 UTC on this day (Sunday).

Aug 18 2019, 11:22 AM · Restricted Project
aykevl committed rG465f4e2c94aa: [bindings/go] Add ParseIR (authored by aykevl).
[bindings/go] Add ParseIR
Aug 18 2019, 8:41 AM
aykevl committed rL369210: [bindings/go] Add ParseIR.
[bindings/go] Add ParseIR
Aug 18 2019, 8:39 AM
aykevl closed D66379: [bindings/go] Add ParseIR.
Aug 18 2019, 8:39 AM · Restricted Project

Aug 17 2019

aykevl added a comment to D64829: [Xtensa 3/10] Add initial version of the Xtensa backend..

Quickly scanning this patch shows that it still uses the previous license. I think these need to be updated to the new Apache 2.0 license, see any file for the up-to-date file header.

Aug 17 2019, 5:28 PM · Restricted Project
aykevl added a comment to D64827: [Xtensa 2/10] Add Xtensa ELF definitions..

LGTM, but I know very little about the LLVM backend.
Also, I see that this patch lacks one change that are included by the very similar RISC-V patch: https://github.com/lowRISC/riscv-llvm/blob/master/0003-RISCV-Add-RISC-V-ELF-defines.patch, namely the equivalent of ElfHeaderRISCVFlags in ELFDumper.cpp. I don't know whether that has a reason but mentioning it just in case.

Aug 17 2019, 5:10 PM · Restricted Project
aykevl added a comment to D63852: [Clang] Move assembler into a separate file.

*friendly ping*

Aug 17 2019, 4:02 PM · Restricted Project
aykevl accepted D66371: [CaptureTracker] Let subclasses provide dereferenceability information.

LGTM from my perspective but I'm not a C++ person so can't comment on style etc.

Aug 17 2019, 10:37 AM · Restricted Project
aykevl created D66379: [bindings/go] Add ParseIR.
Aug 17 2019, 9:13 AM · Restricted Project

Aug 15 2019

aykevl added a comment to D64826: [Xtensa 1/10] Recognize Xtensa in triple parsing code..

Is there a reason why this hasn't been committed yet?

Aug 15 2019, 11:08 AM · Restricted Project

Jul 17 2019

aykevl added a comment to D63852: [Clang] Move assembler into a separate file.

ping?

Jul 17 2019, 2:40 PM · Restricted Project

Jul 3 2019

aykevl added a reviewer for D63852: [Clang] Move assembler into a separate file: rsmith.
Jul 3 2019, 11:34 AM · Restricted Project

Jun 26 2019

aykevl updated the diff for D63852: [Clang] Move assembler into a separate file.
  • removed useless anonymous namespace
Jun 26 2019, 5:02 PM · Restricted Project
aykevl created D63852: [Clang] Move assembler into a separate file.
Jun 26 2019, 4:53 PM · Restricted Project

Jun 25 2019

aykevl committed rG88139c143c5f: [AVR] Adjust to Register class change (authored by aykevl).
[AVR] Adjust to Register class change
Jun 25 2019, 9:51 AM
aykevl committed rL364330: [AVR] Adjust to Register class change.
[AVR] Adjust to Register class change
Jun 25 2019, 9:50 AM
aykevl closed D63776: [AVR] Adjust to Register class change.
Jun 25 2019, 9:50 AM · Restricted Project
aykevl created D63776: [AVR] Adjust to Register class change.
Jun 25 2019, 9:39 AM · Restricted Project

Jun 24 2019

aykevl committed rG9f4c7e8170ca: [bindings/go] Add debug information accessors (authored by aykevl).
[bindings/go] Add debug information accessors
Jun 24 2019, 9:24 AM
aykevl committed rL364198: [bindings/go] Add debug information accessors.
[bindings/go] Add debug information accessors
Jun 24 2019, 9:24 AM
aykevl closed D63056: [bindings/go] Add debug information accessors.
Jun 24 2019, 9:24 AM · Restricted Project

Jun 18 2019

aykevl added a comment to D63056: [bindings/go] Add debug information accessors.

@CodaFi thanks for the review! I assume "Accepted" means it can be merged now? (Just checking to be sure).

Jun 18 2019, 6:35 AM · Restricted Project

Jun 12 2019

aykevl added a comment to D63057: [bindings/go][NFC] Format code with go fmt.

Yes, losing a bit of history is unfortunate. However, it will make it easier in the future to keep these bindings machine-formatted.

Jun 12 2019, 5:05 AM · Restricted Project
aykevl committed rG91bb72a337a6: [bindings/go][NFC] Format code with go fmt (authored by aykevl).
[bindings/go][NFC] Format code with go fmt
Jun 12 2019, 4:58 AM
aykevl committed rL363148: [bindings/go][NFC] Format code with go fmt.
[bindings/go][NFC] Format code with go fmt
Jun 12 2019, 4:58 AM
aykevl closed D63057: [bindings/go][NFC] Format code with go fmt.
Jun 12 2019, 4:58 AM · Restricted Project

Jun 9 2019

aykevl abandoned D61052: [compiler-rt][builtins] Implement some fetch-and-x operations for Cortex-M.

Ok, based on the above comments I believe that this is a bug in LLVM and not a missing feature in compiler-rt. LLVM should generate __atomic_* calls instead of __sync_ calls and it shouldn't generate those for Cortex-M3 and up when doing 32-bit atomics because it should be able to emit such instructions inline.

Jun 9 2019, 4:02 AM · Restricted Project, Restricted Project
aykevl added a comment to D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.

Phabricator says:

Jun 9 2019, 3:38 AM · Restricted Project
aykevl created D63057: [bindings/go][NFC] Format code with go fmt.
Jun 9 2019, 3:30 AM · Restricted Project
aykevl committed rGf18cf230e4e2: [CaptureTracking] Don't let comparisons against null escape inbounds pointers (authored by aykevl).
[CaptureTracking] Don't let comparisons against null escape inbounds pointers
Jun 9 2019, 3:18 AM
aykevl committed rL362900: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.
[CaptureTracking] Don't let comparisons against null escape inbounds pointers
Jun 9 2019, 3:18 AM
aykevl closed D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.
Jun 9 2019, 3:18 AM · Restricted Project
aykevl committed rGde329e511606: [bindings/go] Add wrappers for atomic operations. (authored by aykevl).
[bindings/go] Add wrappers for atomic operations.
Jun 9 2019, 3:07 AM
aykevl committed rL362899: [bindings/go] Add wrappers for atomic operations..
[bindings/go] Add wrappers for atomic operations.
Jun 9 2019, 3:06 AM
aykevl closed D61034: [bindings/go] Add wrappers for atomic operations..
Jun 9 2019, 3:06 AM · Restricted Project
aykevl added inline comments to D63056: [bindings/go] Add debug information accessors.
Jun 9 2019, 2:58 AM · Restricted Project
aykevl created D63056: [bindings/go] Add debug information accessors.
Jun 9 2019, 2:53 AM · Restricted Project

Jun 8 2019

aykevl committed rG548db794a43c: [bindings/go] Add bindings to LLVMGet?CmpPredicate (authored by aykevl).
[bindings/go] Add bindings to LLVMGet?CmpPredicate
Jun 8 2019, 3:21 PM
aykevl committed rL362893: [bindings/go] Add bindings to LLVMGet?CmpPredicate.
[bindings/go] Add bindings to LLVMGet?CmpPredicate
Jun 8 2019, 3:21 PM
aykevl closed D53884: [bindings/go] Add bindings to LLVMGet?CmpPredicate.

Merged in r362893.

Jun 8 2019, 3:21 PM · Restricted Project
aykevl committed rGdf9d6cf6a2f4: Revert "[bindings/go] Add Go bindings for CalledValue" (authored by aykevl).
Revert "[bindings/go] Add Go bindings for CalledValue"
Jun 8 2019, 3:18 PM
aykevl added a reverting change for rGf675a60ca7a9: [bindings/go] Add Go bindings for CalledValue: rGdf9d6cf6a2f4: Revert "[bindings/go] Add Go bindings for CalledValue".
Jun 8 2019, 3:18 PM
aykevl committed rL362892: Revert "[bindings/go] Add Go bindings for CalledValue".
Revert "[bindings/go] Add Go bindings for CalledValue"
Jun 8 2019, 3:15 PM
aykevl committed rGf675a60ca7a9: [bindings/go] Add Go bindings for CalledValue (authored by aykevl).
[bindings/go] Add Go bindings for CalledValue
Jun 8 2019, 3:15 PM
aykevl committed rL362891: [bindings/go] Add Go bindings for CalledValue.
[bindings/go] Add Go bindings for CalledValue
Jun 8 2019, 3:13 PM
aykevl closed D52972: [bindings/go] Add Go bindings for CalledValue.

Merged in r362890.

Jun 8 2019, 3:09 PM · Restricted Project
aykevl committed rGda95e6c92b01: [bindings/go] Add Go bindings for CalledValue (authored by aykevl).
[bindings/go] Add Go bindings for CalledValue
Jun 8 2019, 3:06 PM
aykevl committed rL362890: [bindings/go] Add Go bindings for CalledValue.
[bindings/go] Add Go bindings for CalledValue
Jun 8 2019, 3:06 PM
aykevl closed D52694: [bindings/go] Add EraseFromParent.

Merged.

Jun 8 2019, 2:59 PM · Restricted Project
aykevl committed rGbc0f0a32abc6: [bindings/go] Add EraseFromParent (authored by aykevl).
[bindings/go] Add EraseFromParent
Jun 8 2019, 2:59 PM
aykevl committed rL362889: [bindings/go] Add EraseFromParent.
[bindings/go] Add EraseFromParent
Jun 8 2019, 2:58 PM
aykevl committed rG648c92dcb4aa: [NFC] Test commit (authored by aykevl).
[NFC] Test commit
Jun 8 2019, 2:40 PM
aykevl committed rL362888: [NFC] Test commit.
[NFC] Test commit
Jun 8 2019, 2:40 PM

Jun 5 2019

aykevl updated the diff for D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.
  • update to stripPointerCastsSameRepresentation
  • move a single line of code (NFC)
Jun 5 2019, 11:28 AM · Restricted Project

May 26 2019

aykevl added a comment to D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.

I think I have addressed all review comments (except for stripPointerCasts which is waiting on D61607 and should hopefully land soon).

May 26 2019, 1:01 PM · Restricted Project
aykevl updated the diff for D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.
  • use Value::getPointerDereferenceableBytes instead of checking for the specific attribute dereferenceable_or_null.
  • Only apply this optimization when null pointers are not dereferenceable ("null-pointer-is-valid") and add an associated test.
May 26 2019, 12:49 PM · Restricted Project

May 18 2019

aykevl added a comment to D61607: Introduce Value::stripPointerCastsSameRepresentation.

Yes I know it can change the bit pattern. And if it is only about the bit pattern, the name is fine. However, it seems to me that the only difference between stripPointerCastsSameBitPattern and stripPointerCasts is the AS, which may or may not be relevant to the bit pattern. This is confusing: it isn't clear to me from the name stripPointerCastsSameBitPattern whether it may strip any addrspacecast that has the same bit pattern.

May 18 2019, 7:54 PM · Restricted Project
aykevl added a comment to D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.

I've updated the code, but there are a few things I'm not so sure about:

May 18 2019, 9:09 AM · Restricted Project
aykevl updated the diff for D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.
  • replace some types with auto
  • update comment for getelementptr inbounds
May 18 2019, 8:57 AM · Restricted Project
aykevl added a comment to D61607: Introduce Value::stripPointerCastsSameRepresentation.

To me (someone from outside LLVM), the "keep bit pattern" argument looks confusing. Pointer casts do not necessarily change the bit pattern? In fact, it seems to me that most pointer casts preserve the bit pattern but change the meaning of the pointer (example: address space 1 on AVR which points into flash instead of RAM - no bits are changed with an addrspacecast). Names like stripTrivialPointerCasts and stripAddressSpaceAndPointerCasts look much more obvious to me. Or did I miss the real intent of the change here?
In other words, I would suggest renaming stripPointerCastsSameBitPattern to stripTrivialPointerCasts.

May 18 2019, 8:09 AM · Restricted Project

May 3 2019

aykevl added a comment to D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.

Thank you, so I guess this is now ready to land?

May 3 2019, 5:01 PM · Restricted Project
aykevl added inline comments to D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.
May 3 2019, 5:55 AM · Restricted Project
aykevl updated the diff for D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.
  • updated to allow bitcasts
  • include bitcasts in tests
  • other small improvements to the test
May 3 2019, 5:53 AM · Restricted Project

May 2 2019

aykevl added a reviewer for D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers: hfinkel.
May 2 2019, 6:59 AM · Restricted Project

May 1 2019

aykevl updated the diff for D61052: [compiler-rt][builtins] Implement some fetch-and-x operations for Cortex-M.
  • now _really_ update the URL
May 1 2019, 11:39 AM · Restricted Project, Restricted Project
aykevl added inline comments to D61052: [compiler-rt][builtins] Implement some fetch-and-x operations for Cortex-M.
May 1 2019, 11:36 AM · Restricted Project, Restricted Project
aykevl updated the diff for D61052: [compiler-rt][builtins] Implement some fetch-and-x operations for Cortex-M.
  • updated the URL to the GCC docs
May 1 2019, 10:43 AM · Restricted Project, Restricted Project
aykevl updated the diff for D61052: [compiler-rt][builtins] Implement some fetch-and-x operations for Cortex-M.
  • fixed the bug in SYNC_OP_8
May 1 2019, 8:42 AM · Restricted Project, Restricted Project
aykevl updated the diff for D61052: [compiler-rt][builtins] Implement some fetch-and-x operations for Cortex-M.
  • use the ldrex/strex implementation on Cortex-M3 and up for SYNC_OP_4
  • fixed a bug in SYNC_OP_4 for the sub instruction (a bug remains in SYNC_OP_8, will fix soon)
May 1 2019, 8:08 AM · Restricted Project, Restricted Project

Apr 30 2019

aykevl planned changes to D61052: [compiler-rt][builtins] Implement some fetch-and-x operations for Cortex-M.

No there isn't any reason to avoid ldrex/strex on M-class. It is the recommended way of implementing these functions on all architectures that support them.

Apr 30 2019, 11:42 AM · Restricted Project, Restricted Project

Apr 29 2019

aykevl added a comment to D61052: [compiler-rt][builtins] Implement some fetch-and-x operations for Cortex-M.

If someone could suggest a good way to test this, that would be great. At the moment it has been tested by compiling for armv6m, armv7m, and armv7em and confirming that the add operations appear to work.

Apr 29 2019, 2:29 PM · Restricted Project, Restricted Project
aykevl added reviewers for D61052: [compiler-rt][builtins] Implement some fetch-and-x operations for Cortex-M: peter.smith, kongyi.
Apr 29 2019, 2:29 PM · Restricted Project, Restricted Project

Apr 25 2019

aykevl retitled D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers from [CaptureTracking] Don't let comparisons against nil escape inbounds pointers to [CaptureTracking] Don't let comparisons against null escape inbounds pointers.
Apr 25 2019, 5:51 AM · Restricted Project
aykevl updated the diff for D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.

Update CaptureTracking to be more conservative and add FunctionAttrs tests.

Apr 25 2019, 5:45 AM · Restricted Project
aykevl added a comment to D61034: [bindings/go] Add wrappers for atomic operations..

Great!
Can someone merge this commit? I do not have commit access.

Apr 25 2019, 1:14 AM · Restricted Project

Apr 23 2019

aykevl updated the diff for D61052: [compiler-rt][builtins] Implement some fetch-and-x operations for Cortex-M.
Apr 23 2019, 7:03 PM · Restricted Project, Restricted Project
aykevl updated the summary of D61052: [compiler-rt][builtins] Implement some fetch-and-x operations for Cortex-M.
Apr 23 2019, 7:03 PM · Restricted Project, Restricted Project
aykevl created D61052: [compiler-rt][builtins] Implement some fetch-and-x operations for Cortex-M.
Apr 23 2019, 6:58 PM · Restricted Project, Restricted Project
aykevl abandoned D61050: [compiler-rt][builtins] Implement some fetch-and-x operations for Cortex-M.

wrong patch

Apr 23 2019, 6:55 PM · Restricted Project, Restricted Project
aykevl created D61050: [compiler-rt][builtins] Implement some fetch-and-x operations for Cortex-M.
Apr 23 2019, 6:54 PM · Restricted Project, Restricted Project
aykevl created D61034: [bindings/go] Add wrappers for atomic operations..
Apr 23 2019, 11:48 AM · Restricted Project

Apr 12 2019

Herald added a project to D54696: Implement fptoui.sat and fptosi.sat intrinsics: Restricted Project.
Apr 12 2019, 8:10 AM · Restricted Project

Apr 4 2019

Herald added a project to D52694: [bindings/go] Add EraseFromParent: Restricted Project.

Ping?
I don't have commit access.

Apr 4 2019, 3:30 PM · Restricted Project

Apr 3 2019

aykevl added a comment to D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.

Oh, I see. Thank you for explaining the actual behavior of getelementptr.

Apr 3 2019, 4:28 PM · Restricted Project

Mar 31 2019

aykevl added a comment to D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.

Some more background:

Mar 31 2019, 7:20 AM · Restricted Project
aykevl created D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.
Mar 31 2019, 7:11 AM · Restricted Project

Feb 14 2019

aykevl added a comment to D58030: [bindings/go] Fix building on 32-bit systems (ARM etc.).

Can you (or someone else) merge this change? I do not have commit access. That would allow a request for inclusion in LLVM 8 (I hope).

Feb 14 2019, 12:09 AM · Restricted Project

Feb 11 2019

aykevl created D58030: [bindings/go] Fix building on 32-bit systems (ARM etc.).
Feb 11 2019, 1:57 AM · Restricted Project

Jan 6 2019

aykevl added a comment to D52694: [bindings/go] Add EraseFromParent.

Can someone merge this patch? I don't have commit access.

Jan 6 2019, 1:19 PM · Restricted Project
aykevl added a comment to D52972: [bindings/go] Add Go bindings for CalledValue.

Can someone commit this change? I don't have commit access.

Jan 6 2019, 1:01 PM · Restricted Project
aykevl added a comment to D53884: [bindings/go] Add bindings to LLVMGet?CmpPredicate.

Ping?

Jan 6 2019, 1:01 PM · Restricted Project

Oct 30 2018

aykevl updated the summary of D53884: [bindings/go] Add bindings to LLVMGet?CmpPredicate.
Oct 30 2018, 3:31 PM · Restricted Project
aykevl created D53884: [bindings/go] Add bindings to LLVMGet?CmpPredicate.
Oct 30 2018, 12:56 PM · Restricted Project
aykevl updated the summary of D53883: [bindings/go] Add Go bindings to LLVMGetIndices.
Oct 30 2018, 12:47 PM
aykevl created D53883: [bindings/go] Add Go bindings to LLVMGetIndices.
Oct 30 2018, 12:46 PM

Oct 7 2018

aykevl created D52972: [bindings/go] Add Go bindings for CalledValue.
Oct 7 2018, 4:41 PM · Restricted Project

Oct 6 2018

aykevl added inline comments to D52694: [bindings/go] Add EraseFromParent.
Oct 6 2018, 4:01 AM · Restricted Project

Sep 29 2018

aykevl added inline comments to D52694: [bindings/go] Add EraseFromParent.
Sep 29 2018, 9:20 AM · Restricted Project