Page MenuHomePhabricator

hvdijk (Harald van Dijk)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 13 2019, 4:58 AM (96 w, 3 d)

Recent Activity

Tue, Jun 15

hvdijk added inline comments to D104013: [LangRef] State that the based-on relation is for pointer typed values only.
Tue, Jun 15, 2:51 PM · Restricted Project

Sat, Jun 12

hvdijk added inline comments to D104013: [LangRef] State that the based-on relation is for pointer typed values only.
Sat, Jun 12, 3:47 AM · Restricted Project

Fri, Jun 11

hvdijk committed rG27ef43d279b2: [compiler-rt] Add platform detection support for x32 (authored by glaubitz).
[compiler-rt] Add platform detection support for x32
Fri, Jun 11, 11:44 AM
hvdijk closed D99988: [compiler-rt] Add platform detection support for x32.
Fri, Jun 11, 11:44 AM · Restricted Project

Thu, Jun 10

hvdijk accepted D99988: [compiler-rt] Add platform detection support for x32.

I've looked into which bits of compiler-rt already work for x32 and it's actually a lot, yet despite that it should not be enabled: what gets built for builtins works, but various functions that should be defined are left out, and the sanitizers that work depend on libunwind, which does not even build. So, I think it's fine to just go ahead and commit this as it then, and we can fix and enable things later on. (I'm working on that btw, but it'll be a while before anything's ready to be submitted.)

Thu, Jun 10, 3:46 PM · Restricted Project
hvdijk added inline comments to D104013: [LangRef] State that the based-on relation is for pointer typed values only.
Thu, Jun 10, 12:29 PM · Restricted Project

Mon, Jun 7

hvdijk committed rG75521bd9d8d1: [X32] Add Triple::isX32(), use it. (authored by hvdijk).
[X32] Add Triple::isX32(), use it.
Mon, Jun 7, 12:49 PM
hvdijk closed D103777: [X32] Add Triple::isX32(), use it..
Mon, Jun 7, 12:49 PM · Restricted Project, Restricted Project
hvdijk added inline comments to D99149: [LoopUnrollAndJam] Change LoopUnrollAndJamPass to LoopNest pass.
Mon, Jun 7, 9:39 AM · Restricted Project
hvdijk added inline comments to D99149: [LoopUnrollAndJam] Change LoopUnrollAndJamPass to LoopNest pass.
Mon, Jun 7, 2:19 AM · Restricted Project

Sun, Jun 6

hvdijk requested review of D103777: [X32] Add Triple::isX32(), use it..
Sun, Jun 6, 3:41 PM · Restricted Project, Restricted Project
hvdijk added inline comments to D99149: [LoopUnrollAndJam] Change LoopUnrollAndJamPass to LoopNest pass.
Sun, Jun 6, 9:42 AM · Restricted Project
hvdijk added inline comments to D99149: [LoopUnrollAndJam] Change LoopUnrollAndJamPass to LoopNest pass.
Sun, Jun 6, 9:02 AM · Restricted Project
hvdijk added inline comments to D99149: [LoopUnrollAndJam] Change LoopUnrollAndJamPass to LoopNest pass.
Sun, Jun 6, 8:41 AM · Restricted Project
hvdijk added a comment to D99149: [LoopUnrollAndJam] Change LoopUnrollAndJamPass to LoopNest pass.

Ah, problem found, I think: this breaks when ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=OFF, which I never explicitly set but had inherited as I was using a CMakeCache.txt generated when that was the default. As far as I know this is, for now, a supported configuration. The new pass manager was enabled by default by D95380 and one of the major differences listed there is "LCSSA and LoopSimplify are run before all loop passes"; it seems like this change may be relying on that. Should this perhaps be reverted until the problem can be fixed?

Sun, Jun 6, 7:40 AM · Restricted Project
hvdijk added a comment to D99149: [LoopUnrollAndJam] Change LoopUnrollAndJamPass to LoopNest pass.

I'm seeing test failures now that this has been committed. These tests pass again after reverting this. (Tested on 21653600 directly and re-tested on 12f53e53, and tested the revert on top of the latter.) However, I have not found the same errors in the CI results, https://lab.llvm.org/buildbot/#/changes/22300 shows these tests as passing even in configurations that enable assertions. Is it possible that something in here, or something relied upon by something in here, is not fully deterministic and produces different results in different build configurations? I will try different build configurations to see if I can find one where the tests pass, and compare just what the two different builds do, but if you can spot a potential problem straightaway and suggest something to try that would be very helpful.

Sun, Jun 6, 7:01 AM · Restricted Project

Sat, Jun 5

hvdijk updated the diff for D103427: [X86] Fix handling of maskmovdqu in X32.

After adding a new test for the disassembly of these instructions, I found that I had not fully tested my previous version's attempt at disassembling: it only correctly handled the disassembly of addr32 maskmovdqu, not that of addr32 vmaskmovdqu. This version fixes it and adds tests for it. The instruction classes confuse me, so I may have missed a simpler way of achieving the same result.

Sat, Jun 5, 3:38 PM · Restricted Project

Thu, Jun 3

hvdijk committed rG5d2b3de284f4: [SLP] Avoid std::stable_sort(properlyDominates()). (authored by hvdijk).
[SLP] Avoid std::stable_sort(properlyDominates()).
Thu, Jun 3, 9:52 AM
hvdijk closed D103441: [SLP] Avoid std::stable_sort(properlyDominates())..
Thu, Jun 3, 9:52 AM · Restricted Project

Wed, Jun 2

hvdijk added inline comments to D103441: [SLP] Avoid std::stable_sort(properlyDominates())..
Wed, Jun 2, 11:17 AM · Restricted Project
hvdijk updated the diff for D103441: [SLP] Avoid std::stable_sort(properlyDominates())..

Use update_test_checks.

Wed, Jun 2, 11:16 AM · Restricted Project

Tue, Jun 1

hvdijk closed D103479: [SLP] Ignore unreachable blocks.

Thanks. Accidentally pushed without updating the commit message, linking and closing manually.

Tue, Jun 1, 12:22 PM · Restricted Project
hvdijk committed rGf126e8ec2873: [SLPVectorizer] Ignore unreachable blocks (authored by hvdijk).
[SLPVectorizer] Ignore unreachable blocks
Tue, Jun 1, 12:21 PM
hvdijk added inline comments to D103479: [SLP] Ignore unreachable blocks.
Tue, Jun 1, 12:17 PM · Restricted Project
hvdijk updated the diff for D103479: [SLP] Ignore unreachable blocks.
Tue, Jun 1, 12:15 PM · Restricted Project
hvdijk updated the diff for D103441: [SLP] Avoid std::stable_sort(properlyDominates())..
Tue, Jun 1, 11:49 AM · Restricted Project
hvdijk requested review of D103479: [SLP] Ignore unreachable blocks.
Tue, Jun 1, 11:48 AM · Restricted Project
hvdijk added a comment to D103441: [SLP] Avoid std::stable_sort(properlyDominates())..

See Edit related revisions

Tue, Jun 1, 2:12 AM · Restricted Project
hvdijk added a comment to D103441: [SLP] Avoid std::stable_sort(properlyDominates())..

Can this be separated into two changes: ignoring unreachable blocks and changing sorting?

Tue, Jun 1, 1:55 AM · Restricted Project
hvdijk requested review of D103441: [SLP] Avoid std::stable_sort(properlyDominates())..
Tue, Jun 1, 1:42 AM · Restricted Project

Mon, May 31

hvdijk added inline comments to D103427: [X86] Fix handling of maskmovdqu in X32.
Mon, May 31, 11:29 PM · Restricted Project
hvdijk requested review of D103427: [X86] Fix handling of maskmovdqu in X32.
Mon, May 31, 2:42 PM · Restricted Project

Thu, May 27

hvdijk added inline comments to D102359: [libc++] [test] Fix a few tests for 32-bit x86.
Thu, May 27, 2:47 PM · Restricted Project
hvdijk added a comment to D102359: [libc++] [test] Fix a few tests for 32-bit x86.

Should I continue waiting for @saugustine to check the gdb part of this? If it takes too long to get that reviewed it might be better if I split this in two so that I can at least commit the non-gdb parts already.

Thu, May 27, 2:12 PM · Restricted Project

Fri, May 21

hvdijk added inline comments to D102588: [UpdateTestChecks] Default --x86_scrub_rip to False.
Fri, May 21, 11:46 AM · Restricted Project

May 16 2021

hvdijk added a comment to D102588: [UpdateTestChecks] Default --x86_scrub_rip to False.

The switch to --no-x86_scrub_rip by default makes sense to me.

May 16 2021, 4:41 PM · Restricted Project
hvdijk committed rGd62413452fc6: [lld][X86] Restore gotEntrySize. (authored by hvdijk).
[lld][X86] Restore gotEntrySize.
May 16 2021, 4:13 PM
hvdijk added a reverting change for D62727: [ELF] Delete GotEntrySize and GotPltEntrySize: rGd62413452fc6: [lld][X86] Restore gotEntrySize..
May 16 2021, 4:13 PM · Restricted Project
hvdijk closed D102509: [lld][X86] Restore gotEntrySize..
May 16 2021, 4:13 PM · Restricted Project, lld

May 15 2021

hvdijk updated the diff for D102509: [lld][X86] Restore gotEntrySize..

Removed the shared object testing.

May 15 2021, 5:04 AM · Restricted Project, lld
hvdijk added a comment to D102509: [lld][X86] Restore gotEntrySize..

Is x86-x32-plt.s NFC for now and you'll create another patch to fix x32?

May 15 2021, 1:13 AM · Restricted Project, lld

May 14 2021

hvdijk updated the diff for D102509: [lld][X86] Restore gotEntrySize..

I'm assuming you meant don't base the test on the old x86-64-plt.s, but the new is fine. Done now, and removed gotPltEntrySize.

May 14 2021, 2:43 PM · Restricted Project, lld
hvdijk added a comment to D102509: [lld][X86] Restore gotEntrySize..

We shouldn't need both GotEntrySize and GotPltEntrySize. One is sufficient.

May 14 2021, 10:05 AM · Restricted Project, lld
hvdijk requested review of D102509: [lld][X86] Restore gotEntrySize..
May 14 2021, 9:45 AM · Restricted Project, lld
hvdijk added a reverting change for D62727: [ELF] Delete GotEntrySize and GotPltEntrySize: D102509: [lld][X86] Restore gotEntrySize..
May 14 2021, 9:45 AM · Restricted Project
hvdijk updated the diff for D102359: [libc++] [test] Fix a few tests for 32-bit x86.

This diff is identical to the previous diff, but hopefully a reupload will redo the CI.

May 14 2021, 1:31 AM · Restricted Project

May 12 2021

hvdijk requested review of D102359: [libc++] [test] Fix a few tests for 32-bit x86.
May 12 2021, 12:51 PM · Restricted Project

May 10 2021

hvdijk committed rGb0ef2070bc7d: [X86] Fix position-independent TType encoding (authored by hvdijk).
[X86] Fix position-independent TType encoding
May 10 2021, 9:05 AM
hvdijk closed D102132: [X86] Fix position-independent TType encoding.
May 10 2021, 9:05 AM · Restricted Project

May 9 2021

hvdijk added inline comments to D98574: [Sparc] Define the same macros for -mcpu=v9 as GCC on Linux and the BSDs.
May 9 2021, 11:24 AM · Restricted Project
hvdijk added inline comments to D102132: [X86] Fix position-independent TType encoding.
May 9 2021, 8:56 AM · Restricted Project
hvdijk updated the diff for D102132: [X86] Fix position-independent TType encoding.

Added gnux32 to test.

May 9 2021, 8:54 AM · Restricted Project
hvdijk added inline comments to D50490: Restore correct x86_64 EH encodings in kernel code model.
May 9 2021, 7:08 AM · Restricted Project
hvdijk requested review of D102132: [X86] Fix position-independent TType encoding.
May 9 2021, 7:02 AM · Restricted Project

May 6 2021

hvdijk added a comment to D100625: [clang-tools-extra] Do not use `LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR`.

Apparently Phabricator detected the presence of "revert D100625" in my alternative D101851's description and marked that as reverting this one. Of course, as this hadn't been committed, it cannot have been reverted either. Could you confirm that things work for you now, @Abpostelnicu?

May 6 2021, 12:46 AM · Restricted Project

May 5 2021

hvdijk committed rG7907c46fe619: Make clangd CompletionModel not depend on directory layout. (authored by hvdijk).
Make clangd CompletionModel not depend on directory layout.
May 5 2021, 11:26 AM
hvdijk added a reverting change for D100625: [clang-tools-extra] Do not use `LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR`: rG7907c46fe619: Make clangd CompletionModel not depend on directory layout..
May 5 2021, 11:26 AM · Restricted Project
hvdijk closed D101851: Make clangd CompletionModel not depend on directory layout..
May 5 2021, 11:26 AM · Restricted Project

May 4 2021

hvdijk added inline comments to D101851: Make clangd CompletionModel not depend on directory layout..
May 4 2021, 3:18 PM · Restricted Project
hvdijk updated the diff for D101851: Make clangd CompletionModel not depend on directory layout..
May 4 2021, 3:15 PM · Restricted Project
hvdijk requested review of D101851: Make clangd CompletionModel not depend on directory layout..
May 4 2021, 1:12 PM · Restricted Project
hvdijk added a reverting change for D100625: [clang-tools-extra] Do not use `LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR`: D101851: Make clangd CompletionModel not depend on directory layout..
May 4 2021, 1:12 PM · Restricted Project
hvdijk added a comment to D86310: [X86] Align i128 to 16 bytes in x86-64 datalayout.

There is a risk of bitcode incompatibilities with this change, but we already have that the code we generate now is incompatible with GCC and results in crashes that way too, I don't think there's a perfect fix, I'd like it if we could merge this. I came up with roughly the same patch today, based on current sources, to fix bug #50198 before finding this one.

May 4 2021, 12:52 PM · Restricted Project

May 2 2021

hvdijk added a comment to D63423: [Diagnostics] Diagnose misused xor as pow.

Perhaps that should warn even if the RHS is in hex form

It would be kinda strange, since in one clang release we ask users to silence warning with hex form and newer release would warn anyway. Not a fan of this decision.

May 2 2021, 11:00 AM · Restricted Project, Restricted Project
hvdijk added a comment to D63423: [Diagnostics] Diagnose misused xor as pow.

No, we want to preserve warning for 2 ^ MACRO or 10 ^ MACRO.

May 2 2021, 10:33 AM · Restricted Project, Restricted Project
hvdijk added a comment to D63423: [Diagnostics] Diagnose misused xor as pow.

I remember that was interest to support macros too :) tbh I cant remember now such real world case where “macro ^ cst” was an issue but.. it was a long time ago ;)

If you are want, you can send patch to to avoid warning in this case, we can discuss it.

May 2 2021, 10:14 AM · Restricted Project, Restricted Project
hvdijk added a comment to D63423: [Diagnostics] Diagnose misused xor as pow.

It's bad enough that this warns for

#define A 2
int f() { return A ^ 1; }

where as far as the users of A are concerned...

I see how this warning is arguably overzealous in the very special case of "raising" to the constant 1 (since nobody would ever write that by accident). However, if the user of A wants to indicate that they understand this is bitwise-xor, they can simply change the body of their f to return A ^ 0x1; — hex notation suppresses the warning. (Changing the definition of A as well is perhaps a good idea but not technically required.) IMO this is good enough and we should leave it. (What do you think, having seen the A ^ 0x1 workaround? Does that sufficiently address your needs?)

May 2 2021, 9:50 AM · Restricted Project, Restricted Project
hvdijk added a comment to D63423: [Diagnostics] Diagnose misused xor as pow.

It's bad enough that this warns for

May 2 2021, 9:26 AM · Restricted Project, Restricted Project

May 1 2021

hvdijk committed rGf30500632b29: [X32][CET] Fix size and alignment of .note.gnu.property section (authored by hvdijk).
[X32][CET] Fix size and alignment of .note.gnu.property section
May 1 2021, 2:17 PM
hvdijk closed D101689: [X32][CET] Fix size and alignment of .note.gnu.property section.
May 1 2021, 2:17 PM · Restricted Project
hvdijk added inline comments to D101689: [X32][CET] Fix size and alignment of .note.gnu.property section.
May 1 2021, 2:11 PM · Restricted Project
hvdijk updated the diff for D101689: [X32][CET] Fix size and alignment of .note.gnu.property section.

It wasn't just the alignment that was wrong, the section contains its own size as a field, which had an incorrect value as a result of the alignment.

May 1 2021, 2:10 PM · Restricted Project
hvdijk requested review of D101689: [X32][CET] Fix size and alignment of .note.gnu.property section.
May 1 2021, 5:33 AM · Restricted Project

Apr 29 2021

hvdijk committed rG1b788607f549: [X32][CET] Fix handling of indirect branches (authored by hvdijk).
[X32][CET] Fix handling of indirect branches
Apr 29 2021, 12:34 AM
hvdijk closed D101499: [X32][CET] Fix handling of indirect branches.
Apr 29 2021, 12:34 AM · Restricted Project

Apr 28 2021

hvdijk requested review of D101499: [X32][CET] Fix handling of indirect branches.
Apr 28 2021, 4:59 PM · Restricted Project

Apr 27 2021

Herald added a project to D50490: Restore correct x86_64 EH encodings in kernel code model: Restricted Project.
Apr 27 2021, 3:42 PM · Restricted Project

Apr 14 2021

hvdijk added a reverting change for rG4d9ccb18f508: Title: [RISCV] Add missing part of instruction vmsge {u}. VX Review By: craig.: rGe1e2c9d40460: Revert "Title: [RISCV] Add missing part of instruction vmsge {u}. VX Review By….
Apr 14 2021, 12:05 AM
hvdijk committed rGe1e2c9d40460: Revert "Title: [RISCV] Add missing part of instruction vmsge {u}. VX Review By… (authored by hvdijk).
Revert "Title: [RISCV] Add missing part of instruction vmsge {u}. VX Review By…
Apr 14 2021, 12:05 AM

Apr 12 2021

hvdijk added a comment to D100148: [Driver] Fix compiler-rt lookup for x32.

Understood. However, I'm not really sure what else we need. Do we just take the architecture definition from here to pass the proper flags to the compiler or do we also need to add
some x32-specific code?

Apr 12 2021, 11:12 AM · Restricted Project
hvdijk added a comment to D100148: [Driver] Fix compiler-rt lookup for x32.

Hi! Can we get this patch merged as-is or do we need anything else?

Apr 12 2021, 10:53 AM · Restricted Project

Apr 9 2021

hvdijk added inline comments to D100148: [Driver] Fix compiler-rt lookup for x32.
Apr 9 2021, 3:38 AM · Restricted Project

Apr 8 2021

hvdijk requested review of D100148: [Driver] Fix compiler-rt lookup for x32.
Apr 8 2021, 3:46 PM · Restricted Project
hvdijk added a comment to D99988: [compiler-rt] Add platform detection support for x32.

Ah, that looks at first glance like not a compiler-rt problem but a clang problem, it will need to be taught the correct target name for x32 as well. If I'm right, that should be easy to fix, I can take a look later today or tomorrow.

Apr 8 2021, 9:23 AM · Restricted Project

Apr 6 2021

hvdijk added a comment to D99988: [compiler-rt] Add platform detection support for x32.

I think x32 is not really supported by compiler-rt.

Apr 6 2021, 3:10 PM · Restricted Project
hvdijk added a comment to D99988: [compiler-rt] Add platform detection support for x32.

Does this change mean the various *_SUPPORTED_ARCH need updating to list x32 as supported too, or are those handled separately?

Apr 6 2021, 2:52 PM · Restricted Project

Apr 1 2021

hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

I think, however, we should bump the rest of the paths to 10.2.0 if possible.

Apr 1 2021, 1:58 AM · Restricted Project
hvdijk committed rG1d463c2a3860: [Driver] Fix architecture triplets and search paths for Linux x32 (authored by hvdijk).
[Driver] Fix architecture triplets and search paths for Linux x32
Apr 1 2021, 1:50 AM
hvdijk closed D52050: [Driver] Fix architecture triplets and search paths for Linux x32.
Apr 1 2021, 1:50 AM · Restricted Project

Mar 31 2021

hvdijk updated the diff for D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

I have also updated the summary to provide a more complete explanation of the changes, and hope the revised summary will answer @MaskRay's questions.

Mar 31 2021, 4:27 PM · Restricted Project
hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

Since I am a big fan of consistency, I would rather leave it as is (4.6) and then bump to 10.2.0 in a follow-up commit.

Mar 31 2021, 4:22 PM · Restricted Project
hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

Mostly looks good.

clang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/x32/crtbegin.o

Worth bumping the version. 4.6 is quite old and as a host compiler llvm-project has stopped supporting it. The distributions having 4.6 are all end-of-life.
Using a new version (matching your reality) can give impression that the user who contributed the original code may still need it for a while (say 5 years).

Mar 31 2021, 2:18 PM · Restricted Project
hvdijk updated the diff for D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

Tests now updated differently, avoiding the need to explicitly list libx32 as an allowed libdir. In clang/test/Preprocessor/iwithprefix.c's case, for the purposes of the test, it is not necessary to look at what appears before /clang/. In the other tests, it is possible to capture the -resource-dir string and use that.

Mar 31 2021, 12:02 PM · Restricted Project
hvdijk added inline comments to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.
Mar 31 2021, 1:31 AM · Restricted Project
hvdijk added inline comments to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.
Mar 31 2021, 1:04 AM · Restricted Project
hvdijk added inline comments to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.
Mar 31 2021, 12:38 AM · Restricted Project
hvdijk added inline comments to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.
Mar 31 2021, 12:34 AM · Restricted Project
hvdijk updated the diff for D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

This updates the diff as described, plus includes test suite changes needed to make check-clang pass. The changes to clang/test/Driver/Inputs/basic_cross_linux_tree/usr are because we now correctly detect that a x86_64 GCC directory that does not include x32 files cannot be used to target x32.

Mar 31 2021, 12:21 AM · Restricted Project
hvdijk commandeered D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

Feel free to update the diff here with your suggested patch.

Mar 31 2021, 12:19 AM · Restricted Project

Mar 30 2021

hvdijk added a comment to D99625: llvm/cmake/config.guess: update to current version.

If that were the reason, why are we not using the last GPLv2 version of config.guess, rather than the one that we happened to use back when we had an autoconf build system?

Mar 30 2021, 11:38 PM · Restricted Project