Page MenuHomePhabricator
Feed Advanced Search

Sat, Nov 16

aykevl committed rG57776f71fa32: [ELF] Fix lld build on Windows/MinGW (authored by aykevl).
[ELF] Fix lld build on Windows/MinGW
Sat, Nov 16, 4:42 AM
aykevl closed D70266: [ELF] Fix lld build on Windows/MinGW.
Sat, Nov 16, 4:42 AM · Restricted Project

Fri, Nov 15

aykevl added a comment to D70266: [ELF] Fix lld build on Windows/MinGW.

So far nobody has mentioned that the reduced struct (struct Foo { unsigned myBit : 1; char myByte; };) is 8 bytes with MSVC. It's highly possible that GCC is aligning their ABI with MSVC for better compatibility.

Fri, Nov 15, 10:14 AM · Restricted Project
aykevl added a comment to D70266: [ELF] Fix lld build on Windows/MinGW.

I ran the same code as above on MinGW 7.3.0, and with that version the struct size is 4 bytes. So it looks like GCC/MinGW changed how they lay out a struct in memory (breaking ABI compatibility?).

Fri, Nov 15, 9:29 AM · Restricted Project
aykevl updated the summary of D70266: [ELF] Fix lld build on Windows/MinGW.
Fri, Nov 15, 9:21 AM · Restricted Project
aykevl updated the summary of D70266: [ELF] Fix lld build on Windows/MinGW.
Fri, Nov 15, 9:21 AM · Restricted Project
aykevl added a comment to D70266: [ELF] Fix lld build on Windows/MinGW.

Another test. I compiled the following code: https://godbolt.org/z/hVCAUB

Fri, Nov 15, 8:18 AM · Restricted Project
aykevl added a comment to D70266: [ELF] Fix lld build on Windows/MinGW.

I ran the following commands in CI:

Fri, Nov 15, 8:00 AM · Restricted Project

Thu, Nov 14

aykevl added a comment to D64077: [ELF] Assert sizeof(SymbolUnion) <= 80.

I wrote a patch, see: https://reviews.llvm.org/D70266

Thu, Nov 14, 12:52 PM · Restricted Project
aykevl created D70266: [ELF] Fix lld build on Windows/MinGW.
Thu, Nov 14, 12:07 PM · Restricted Project
aykevl added a comment to D64077: [ELF] Assert sizeof(SymbolUnion) <= 80.

I did some monkey-patching of Symbol.h:

Thu, Nov 14, 11:20 AM · Restricted Project

Tue, Nov 12

aykevl added a comment to D63781: [ELF] Error on archive with missing index.

Just a note after the fact: this change broke linking in TinyGo. It used to manually build an archive (without index) with object files from compiler-rt and that worked just fine in LLVM 8 - it did read symbols from those archives even without a symbol table. In LLVM 9, ld.lld refuses to link those libraries. We'll work around it by manually building a symbol table for lld.

Tue, Nov 12, 8:55 AM · Restricted Project

Sat, Nov 2

aykevl added a comment to D64238: [WebAssembly] Add static_assert(sizeof(SymbolUnion) <= 96).

Sorry, that was probably https://reviews.llvm.org/D64077 instead.

Sat, Nov 2, 5:32 AM · Restricted Project
aykevl added a comment to D64238: [WebAssembly] Add static_assert(sizeof(SymbolUnion) <= 96).

FYI: this change caused a build error when including the AVR backend:

Sat, Nov 2, 5:23 AM · Restricted Project

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