Page MenuHomePhabricator

nand (Nandor Licker)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 3 2019, 10:12 AM (15 w, 5 h)

Recent Activity

Tue, Oct 1

nand updated the diff for D66808: [ConstExprPreter] Full patch of the interpreter..

minor fixes

Tue, Oct 1, 2:30 AM · Restricted Project

Fri, Sep 20

nand committed rG10793e791f5b: [Clang Interpreter] Fixed Bug 43362, build failure on GCC (authored by nand).
[Clang Interpreter] Fixed Bug 43362, build failure on GCC
Fri, Sep 20, 10:30 PM
nand committed rL372455: [Clang Interpreter] Fixed Bug 43362, build failure on GCC.
[Clang Interpreter] Fixed Bug 43362, build failure on GCC
Fri, Sep 20, 10:29 PM

Sep 13 2019

nand committed rG950b70dcc7e3: [Clang Interpreter] Initial patch for the constexpr interpreter (authored by nand).
[Clang Interpreter] Initial patch for the constexpr interpreter
Sep 13 2019, 2:51 AM
nand committed rL371834: [Clang Interpreter] Initial patch for the constexpr interpreter.
[Clang Interpreter] Initial patch for the constexpr interpreter
Sep 13 2019, 2:50 AM
nand closed D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.
Sep 13 2019, 2:50 AM · Restricted Project, Restricted Project

Sep 12 2019

nand updated the diff for D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

Added a FIXME to reflect the intention to move the interpreter to its own library

Sep 12 2019, 12:04 PM · Restricted Project, Restricted Project
nand added a comment to D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

Thanks for looking into the problem - sorry for the delay!

Sep 12 2019, 4:11 AM · Restricted Project, Restricted Project

Sep 11 2019

nand updated the diff for D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

reset accidentally changed tests

Sep 11 2019, 1:25 PM · Restricted Project, Restricted Project
nand updated the diff for D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

rebase

Sep 11 2019, 1:17 PM · Restricted Project, Restricted Project

Sep 10 2019

nand updated the diff for D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

removed declarations with no definitions

Sep 10 2019, 11:34 PM · Restricted Project, Restricted Project
nand added a comment to D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

Totally missed that - thanks for noticing. I must have forgotten to remove stuff from the header since clang/gcc don't warn about it.
I'll get hold of a Windows machine soon-ish and I'll make sure to fix this problem.
Thanks!

Sep 10 2019, 10:55 AM · Restricted Project, Restricted Project

Sep 9 2019

nand added a comment to D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

I am providing definitions in the C++ file - the problem is that they are not available in the header before the extern declaration. The methods are available at the site of the extern definition.
gcc and clang accept this, so does Visual Studio 2019. This feels like an incorrect implementation of extern templates in Visual Studio?

Sep 9 2019, 2:48 PM · Restricted Project, Restricted Project

Sep 4 2019

nand added a reviewer for D64146: [Clang Interpreter] Initial patch for the constexpr interpreter: rnk.

@jfb suggested I add @rnk: I was wondering if you have any suggestions on how to fix the msvc warnings/errors? I'd be grateful if I had some feedback on what features of C++ I should avoid using and what I should replace them with.

Sep 4 2019, 11:25 AM · Restricted Project, Restricted Project
nand added a comment to D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

The existing evaluator is not a separate library to start with. Given the tangling between ExprConstants.cpp and the AST nodes, I don't really see any elegant way of dealing with this problem.

Sep 4 2019, 6:58 AM · Restricted Project, Restricted Project
nand added a comment to D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

Does anyone have any suggestions on how to fix the MSVC problems? I am trying to get access to a Windows machine, but it's not guaranteed.

Sep 4 2019, 6:49 AM · Restricted Project, Restricted Project
nand updated the diff for D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

Merged clangInterp and clangAST into a single library while keeping Interp in a separate folder.
This is required since clangInterp needs access to the AST, but the intry points to the interpreter
are also in AST.

Sep 4 2019, 6:47 AM · Restricted Project, Restricted Project
nand reopened D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

Thanks for identifying these issues - I fixed the cycle detected by modules since then, however I wasn't aware of the issue with shared libs until now.

Sep 4 2019, 4:13 AM · Restricted Project, Restricted Project

Sep 3 2019

nand committed rG32f82c9cbaf3: [Clang Interpreter] Initial patch for the constexpr interpreter (authored by nand).
[Clang Interpreter] Initial patch for the constexpr interpreter
Sep 3 2019, 10:50 PM
nand committed rL370839: [Clang Interpreter] Initial patch for the constexpr interpreter.
[Clang Interpreter] Initial patch for the constexpr interpreter
Sep 3 2019, 10:50 PM

Sep 2 2019

nand committed rGc3bdad8c1e14: Revert [Clang Interpreter] Initial patch for the constexpr interpreter (authored by nand).
Revert [Clang Interpreter] Initial patch for the constexpr interpreter
Sep 2 2019, 4:35 AM
nand committed rL370642: Revert [Clang Interpreter] Initial patch for the constexpr interpreter.
Revert [Clang Interpreter] Initial patch for the constexpr interpreter
Sep 2 2019, 4:35 AM
nand committed rG8327fed9475a: [Clang Interpreter] Initial patch for the constexpr interpreter (authored by nand).
[Clang Interpreter] Initial patch for the constexpr interpreter
Sep 2 2019, 3:38 AM
nand committed rL370636: [Clang Interpreter] Initial patch for the constexpr interpreter.
[Clang Interpreter] Initial patch for the constexpr interpreter
Sep 2 2019, 3:38 AM

Aug 31 2019

nand abandoned D67043: [Support] Generic wrapper over __builtin_clz with cross-platform fallback.
Aug 31 2019, 1:53 PM · Restricted Project
nand updated the summary of D67043: [Support] Generic wrapper over __builtin_clz with cross-platform fallback.
Aug 31 2019, 1:42 PM · Restricted Project
nand updated the summary of D67043: [Support] Generic wrapper over __builtin_clz with cross-platform fallback.
Aug 31 2019, 1:42 PM · Restricted Project
nand created D67043: [Support] Generic wrapper over __builtin_clz with cross-platform fallback.
Aug 31 2019, 1:42 PM · Restricted Project
nand committed rGa6bef738bf14: Revert [Clang Interpreter] Initial patch for the constexpr interpreter (authored by nand).
Revert [Clang Interpreter] Initial patch for the constexpr interpreter
Aug 31 2019, 8:15 AM
nand committed rL370588: Revert [Clang Interpreter] Initial patch for the constexpr interpreter.
Revert [Clang Interpreter] Initial patch for the constexpr interpreter
Aug 31 2019, 8:15 AM
nand committed rGafcb3de11726: [Clang Interpreter] Initial patch for the constexpr interpreter (authored by nand).
[Clang Interpreter] Initial patch for the constexpr interpreter
Aug 31 2019, 8:00 AM
nand committed rL370584: [Clang Interpreter] Initial patch for the constexpr interpreter.
[Clang Interpreter] Initial patch for the constexpr interpreter
Aug 31 2019, 8:00 AM

Aug 30 2019

nand committed rG0300c3536a33: Revert [Clang Interpreter] Initial patch for the constexpr interpreter (authored by nand).
Revert [Clang Interpreter] Initial patch for the constexpr interpreter
Aug 30 2019, 2:32 PM
nand committed rL370535: Revert [Clang Interpreter] Initial patch for the constexpr interpreter.
Revert [Clang Interpreter] Initial patch for the constexpr interpreter
Aug 30 2019, 2:32 PM
nand committed rGd4c1002e0bbb: [Clang Interpreter] Initial patch for the constexpr interpreter (authored by nand).
[Clang Interpreter] Initial patch for the constexpr interpreter
Aug 30 2019, 2:17 PM
nand committed rL370531: [Clang Interpreter] Initial patch for the constexpr interpreter.
[Clang Interpreter] Initial patch for the constexpr interpreter
Aug 30 2019, 2:16 PM
nand updated the diff for D66808: [ConstExprPreter] Full patch of the interpreter..

Added more features

Aug 30 2019, 10:34 AM · Restricted Project
nand committed rG5c8b94a672e7: Revert [Clang Interpreter] Initial patch for the constexpr interpreter (authored by nand).
Revert [Clang Interpreter] Initial patch for the constexpr interpreter
Aug 30 2019, 8:43 AM
nand committed rL370481: Revert [Clang Interpreter] Initial patch for the constexpr interpreter.
Revert [Clang Interpreter] Initial patch for the constexpr interpreter
Aug 30 2019, 8:42 AM
nand committed rL370476: [Clang Interpreter] Initial patch for the constexpr interpreter.
[Clang Interpreter] Initial patch for the constexpr interpreter
Aug 30 2019, 8:02 AM
nand committed rGa55909505497: [Clang Interpreter] Initial patch for the constexpr interpreter (authored by nand).
[Clang Interpreter] Initial patch for the constexpr interpreter
Aug 30 2019, 8:02 AM
nand closed D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.
Aug 30 2019, 8:02 AM · Restricted Project, Restricted Project

Aug 29 2019

nand committed rG7bd0a78faee8: [NFC] Test commit - sorted headers. (authored by nand).
[NFC] Test commit - sorted headers.
Aug 29 2019, 2:58 PM
nand committed rL370412: [NFC] Test commit - sorted headers..
[NFC] Test commit - sorted headers.
Aug 29 2019, 2:57 PM

Aug 27 2019

nand updated the diff for D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

replaced llvm::make_unique with std::make_unique

Aug 27 2019, 11:30 AM · Restricted Project, Restricted Project
nand updated the diff for D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

deactivated tests

Aug 27 2019, 10:13 AM · Restricted Project, Restricted Project
nand edited reviewers for D66808: [ConstExprPreter] Full patch of the interpreter., added: rsmith, Bigcheese, jfb, dexonsmith; removed: jdoerfert.
Aug 27 2019, 9:15 AM · Restricted Project
nand created D66808: [ConstExprPreter] Full patch of the interpreter..
Aug 27 2019, 9:13 AM · Restricted Project
nand updated the diff for D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

refactoring + implemented changes

Aug 27 2019, 9:08 AM · Restricted Project, Restricted Project

Aug 13 2019

nand added a comment to D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

The old path-based approach is slow for most operations, while the new pointer-based approach is fast for the most common ones.
For read/write/update operations, it is enough to check the pointer and at most a single descriptor to ensure whether the operation
can be performed. For some operations, such as some pointer comparisons, in the worst case the old-style path can be reproduced by
following the pointers produced through the getBase method, allowing us to implement everything.

Aug 13 2019, 7:19 AM · Restricted Project, Restricted Project
nand added a comment to D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

updated diff, implemented requested changes

Aug 13 2019, 7:07 AM · Restricted Project, Restricted Project
nand updated the diff for D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

Implemented @zygoloid's suggestions

Aug 13 2019, 7:07 AM · Restricted Project, Restricted Project

Aug 4 2019

nand retitled D64146: [Clang Interpreter] Initial patch for the constexpr interpreter from [ConstExprPreter][WIP] Initial patch for the constexpr interpreter to [Clang Interpreter] Initial patch for the constexpr interpreter.
Aug 4 2019, 8:23 PM · Restricted Project, Restricted Project
nand updated the diff for D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

Implemented suggestions from @rsmith.

Aug 4 2019, 8:23 PM · Restricted Project, Restricted Project

Jul 31 2019

nand added a comment to D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

I have applied most of the changes you suggested to my HEAD which had significantly more functionality, including a replacement of Opcodes.in with TableGen.
Quite a few of your concerns are answered by the features I have added between submitting the patch and now. The interpreter now stands at ~6k LOC.

Jul 31 2019, 2:11 PM · Restricted Project, Restricted Project
nand updated the diff for D65536: [ConstExprPreter] Overflow-detecting methods use GCC or clang builtins.

removed redundant check

Jul 31 2019, 1:59 PM · Restricted Project
nand created D65536: [ConstExprPreter] Overflow-detecting methods use GCC or clang builtins.
Jul 31 2019, 1:32 PM · Restricted Project
nand added inline comments to D65494: [Support] Added overflow checking add, sub and mul..
Jul 31 2019, 10:10 AM · Restricted Project
nand added a comment to D65494: [Support] Added overflow checking add, sub and mul..

replaced char with signed char

Jul 31 2019, 9:17 AM · Restricted Project
nand updated the diff for D65494: [Support] Added overflow checking add, sub and mul..

s/char/signed char/

Jul 31 2019, 9:17 AM · Restricted Project
nand added a comment to D65494: [Support] Added overflow checking add, sub and mul..

Just checked: tests pass with UBSan.

Jul 31 2019, 7:40 AM · Restricted Project
nand updated the diff for D65494: [Support] Added overflow checking add, sub and mul..

Updated comments about bitcast

Jul 31 2019, 7:01 AM · Restricted Project
nand added inline comments to D65494: [Support] Added overflow checking add, sub and mul..
Jul 31 2019, 7:01 AM · Restricted Project

Jul 30 2019

nand created D65494: [Support] Added overflow checking add, sub and mul..
Jul 30 2019, 5:39 PM · Restricted Project

Jul 29 2019

nand added a comment to D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

We can add a separate integer type which tracks all the additional information required by __builtin_constant_p and compile all integers to it in this context. A later patch added an APInt fallback to the interpreter if an integral cannot be mapped to a type supported by the VM - this mechanism could be used to implement the fallback for contexts which cast pointers to integers.

Jul 29 2019, 1:03 PM · Restricted Project, Restricted Project
nand added a comment to D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

How do you intend to represent pointers cast to integer types? Allocating 64 bits of state for a 64-bit integer is insufficient to model that case.

Jul 29 2019, 10:03 AM · Restricted Project, Restricted Project

Jul 8 2019

nand updated the diff for D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

Fixed read of call stack depth

Jul 8 2019, 3:19 PM · Restricted Project, Restricted Project

Jul 3 2019

nand added a reviewer for D64146: [Clang Interpreter] Initial patch for the constexpr interpreter: rsmith.
Jul 3 2019, 11:39 AM · Restricted Project, Restricted Project
nand updated the diff for D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.

Fixed typo in command line flags

Jul 3 2019, 11:05 AM · Restricted Project, Restricted Project
nand retitled D64146: [Clang Interpreter] Initial patch for the constexpr interpreter from [ConstExprPreter] Initial patch for the constexpr interpreter to [ConstExprPreter][WIP] Initial patch for the constexpr interpreter.
Jul 3 2019, 10:33 AM · Restricted Project, Restricted Project
nand created D64146: [Clang Interpreter] Initial patch for the constexpr interpreter.
Jul 3 2019, 10:32 AM · Restricted Project, Restricted Project