Page MenuHomePhabricator

kristof.beyls (Kristof Beyls)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 18 2014, 12:59 AM (260 w, 5 d)

Recent Activity

May 6 2019

kristof.beyls added a parent revision for D61598: lnt runtest test-suite: add --qemu-user-mode support: D61597: [test-suite] Fix support for user mode emulation when using cmake/lit..
May 6 2019, 7:06 AM
kristof.beyls created D61598: lnt runtest test-suite: add --qemu-user-mode support.
May 6 2019, 7:06 AM
kristof.beyls added a child revision for D61597: [test-suite] Fix support for user mode emulation when using cmake/lit.: D61598: lnt runtest test-suite: add --qemu-user-mode support.
May 6 2019, 7:06 AM · Restricted Project
kristof.beyls added a comment to D61597: [test-suite] Fix support for user mode emulation when using cmake/lit..

I haven't created any tests for this yet - I thought I'd first try and get feedback on whether this approach seems right before I spent time learning about how to get the test-suite unit/regression tests set up.

May 6 2019, 7:03 AM · Restricted Project
kristof.beyls created D61597: [test-suite] Fix support for user mode emulation when using cmake/lit..
May 6 2019, 7:02 AM · Restricted Project
kristof.beyls added inline comments to D61550: Add recommendations on how to start a meetup in your city.
May 6 2019, 12:19 AM · Restricted Project

Apr 15 2019

kristof.beyls added a comment to D60348: [COFF, ARM64] Fix ABI implementation of struct returns.

Hi Mandeep,

Apr 15 2019, 2:13 AM · Restricted Project

Apr 11 2019

kristof.beyls added a comment to D60348: [COFF, ARM64] Fix ABI implementation of struct returns.

Hi Mandeep,

Apr 11 2019, 5:52 AM · Restricted Project

Apr 2 2019

kristof.beyls added a comment to D59827: [slh] x86 impl of ARM instrinsic + builtin for SLH.

This intrinsic got added to gcc a while ago and should become available in the upcoming gcc 9 release.
In gcc however, the prototype of the intrinsic is slightly different (see https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html):
type __builtin_speculation_safe_value (type val, type failval)
It provides a second optional argument "failval". From the gcc documentation: "The function may use target-dependent speculation tracking state to cause failval to be returned when it is known that speculative execution has incorrectly predicted a conditional branch operation."
So, when implementing the intrinsic using a speculation barrier such as lfence, that failval argument doesn't have any effect. However, when lowering the intrinsic using speculation tracking similar to how that's used in SLH, this failval parameter is used to return a non-zero value on miss-speculation, in case the developer prefers that over the default zero value.

Apr 2 2019, 3:31 AM · Restricted Project, Restricted Project

Mar 27 2019

kristof.beyls added a comment to D59827: [slh] x86 impl of ARM instrinsic + builtin for SLH.

Thanks for picking this up, Zola!

Mar 27 2019, 7:30 AM · Restricted Project, Restricted Project

Mar 8 2019

kristof.beyls added a comment to D58927: [ARM] Fixed an assumption of power-of-2 vector MVT.

Hi Tim,

Mar 8 2019, 12:53 AM · Restricted Project

Mar 7 2019

kristof.beyls added a comment to D57806: [Interpreter] Add newline to interpreter debugging output.

Thanks for the review. I don't have committer rights; could you merge this for me or point me to how to get access?

Mar 7 2019, 2:17 AM · Restricted Project
kristof.beyls committed rG730ecf8fd5f5: Add newline to interpreter debugging output (authored by kristof.beyls).
Add newline to interpreter debugging output
Mar 7 2019, 2:15 AM
kristof.beyls added inline comments to D59062: [GlobalISel][AArch64] Always fall back on aarch64.neon.addp.*.
Mar 7 2019, 1:27 AM · Restricted Project

Feb 27 2019

kristof.beyls accepted D57806: [Interpreter] Add newline to interpreter debugging output.

LGTM, thanks for fixing this!

Feb 27 2019, 11:35 PM · Restricted Project

Feb 21 2019

kristof.beyls added a comment to D57806: [Interpreter] Add newline to interpreter debugging output.

This seems quite obvious.
Typically when we change the behaviour of code, we aim to add a unit/regression test to check that indeed the code now has the intended behaviour (and mostly to make sure future changes do not regress on that expected behaviour).
That being said, this is a change to debug output, for which we typically do not add regression tests.

Feb 21 2019, 12:02 AM · Restricted Project

Feb 20 2019

kristof.beyls added a reviewer for D57728: Relax constraints for reduction vectorization: sdesmalen.
Feb 20 2019, 12:03 AM · Restricted Project

Feb 12 2019

kristof.beyls added inline comments to D58105: docs: Update the ShadowCallStack documentation..
Feb 12 2019, 1:21 AM · Restricted Project

Jan 23 2019

kristof.beyls added inline comments to D56717: [SLH] AArch64: correctly pick temporary register to mask SP.
Jan 23 2019, 12:37 AM

Jan 18 2019

kristof.beyls added inline comments to D56717: [SLH] AArch64: correctly pick temporary register to mask SP.
Jan 18 2019, 4:52 AM
kristof.beyls updated the diff for D56717: [SLH] AArch64: correctly pick temporary register to mask SP.

Updated approach to use the register scavenger to find an available temporary register. In the rare case when no temporary register is available, fall back to inserting a full speculation barrier.

Jan 18 2019, 4:48 AM

Jan 16 2019

kristof.beyls added inline comments to D56717: [SLH] AArch64: correctly pick temporary register to mask SP.
Jan 16 2019, 10:50 AM
kristof.beyls added a comment to D55929: Initial AArch64 SLH implementation..

Hi Kristof,

Thanks for writing this code! I had an easy time understanding what you were doing.

I was discussing this SLH implementation with Chandler and he suggested that it may be useful to write a design doc similar to the one for the x86 implementation, so other people in the community can understand and discuss the current/future design with the ARM specific details laid out. What do you think?

Jan 16 2019, 5:15 AM
kristof.beyls added inline comments to D56717: [SLH] AArch64: correctly pick temporary register to mask SP.
Jan 16 2019, 5:02 AM

Jan 15 2019

kristof.beyls created D56717: [SLH] AArch64: correctly pick temporary register to mask SP.
Jan 15 2019, 6:07 AM

Jan 14 2019

kristof.beyls added a comment to D54896: Introduce control flow speculation tracking pass for AArch64..

Hi Kristof,
Sorry about this late review. I wanted to make sure that I understood your implementation of SLH for ARM, so I took a look and made a few comments with some questions on this first patch. Let me know your thoughts. I'm planning to take a look at the other commit you made a few days ago related to SLH too. Hopefully I didn't make too many comments that were already addressed in the follow up commit.

Jan 14 2019, 2:54 AM

Jan 11 2019

kristof.beyls added a comment to D56482: DO NOT SUBMIT. Draft for guidelines on using Phabricator..

Any feedback on the idea of an alternative, much lighter Conduit API client (since we only use a subset of Phab features) where it's also easier to (by default) hook linters or various other tools to? Not sure how others feel about Arcanist especially considering it covers a massive set of APIs beyond what's commonly used here and a local PHP installation just to run it is often undesirable (A simpler one-file client in Python should suffice, especially considering that many are changing their workflows due to the Git migration).

Jan 11 2019, 1:32 AM · Restricted Project

Jan 10 2019

kristof.beyls added inline comments to D56482: DO NOT SUBMIT. Draft for guidelines on using Phabricator..
Jan 10 2019, 1:18 AM · Restricted Project

Jan 9 2019

kristof.beyls added inline comments to D55929: Initial AArch64 SLH implementation..
Jan 9 2019, 1:41 AM

Jan 8 2019

kristof.beyls added inline comments to D55929: Initial AArch64 SLH implementation..
Jan 8 2019, 8:11 AM
kristof.beyls added a comment to D52803: [GISel]: Add support for CSEing continuously during GISel passes.

By default the CSE is enabled during IRTranslator and Legalizer now (disable with -enable-cse-in-legalizer/irtranslator=0).

I naively wonder if unconditionally enabling a CSE optimization even at -O0 is going to lead to a poorer debug experience in some cases?

Jan 8 2019, 12:20 AM

Jan 7 2019

kristof.beyls updated the diff for D55929: Initial AArch64 SLH implementation..

Fix 2 issues flagged by -verify-machineinstrs when testing this patch on more code.

Jan 7 2019, 5:25 AM

Dec 20 2018

kristof.beyls created D55929: Initial AArch64 SLH implementation..
Dec 20 2018, 6:47 AM

Dec 17 2018

kristof.beyls added inline comments to D55758: [TableGen] : Extend !if semantics through new language feature !ifs.
Dec 17 2018, 5:03 AM

Dec 12 2018

kristof.beyls updated the diff for D54896: Introduce control flow speculation tracking pass for AArch64..

This updated diff addresses Oliver's final comment, namely about what to do when the program uses X16, e.g because of use of inline assembly specifically requesting to use X16.
Besides all the options I came up with previously, there is a 4th option: prevent speculation by inserting DSB SYS/ISB instruction pairs. Conceptually this is not unlike using lfence in X86SpeculativeLoadHardening.
I believe the pros/cons of this approach are (compared to the 3 options I listed previously):
Pros:

  • A relatively simple implementation.
  • Still keeping the advantages of doing speculation hardening very late.
  • No silent non-protected code.
  • This alternative protection mechanism is expected to only be needed for a very small amount of code.

Cons:

  • This likely has higher overhead than if we could still use a data flow mechanism to track when control flow miss-speculation happens.
Dec 12 2018, 5:45 AM

Dec 6 2018

kristof.beyls added a comment to D54896: Introduce control flow speculation tracking pass for AArch64..

There currently isn't even a user interface to reserve X16.

X16 can be reserved by the user using inline assembly, either with a clobber or named register variable. I can think of a few cases where this might happen in real code:

D51432 uses it in libunwind to implement unwinding through functions using return-address signing.
Inline assembly which contains a function call will need to clobber X16 and X17.
If moving this pass to before register allocation would add a lot of extra complexity, maybe this could also be solved by copying the taint into SP before each inline asm block, and back out afterwards, like we currently do for calls?

Dec 6 2018, 7:27 AM
kristof.beyls updated the diff for D54896: Introduce control flow speculation tracking pass for AArch64..
  • Addressing most of Oliver's comments.
Dec 6 2018, 6:34 AM

Dec 5 2018

kristof.beyls added inline comments to D54909: [clang][slh] add Clang attr no_speculative_load_hardening.
Dec 5 2018, 10:02 AM

Dec 3 2018

kristof.beyls added inline comments to D54909: [clang][slh] add Clang attr no_speculative_load_hardening.
Dec 3 2018, 10:33 AM

Nov 26 2018

kristof.beyls created D54896: Introduce control flow speculation tracking pass for AArch64..
Nov 26 2018, 6:25 AM

Nov 22 2018

kristof.beyls accepted D54555: [clang][slh] add attribute for speculative load hardening.

LGTM now. I'm not an expert on the clang attribute mechanics, so am relying on Aaron's judgement/review for that part.
Thanks Zola!

Nov 22 2018, 12:00 AM

Nov 20 2018

kristof.beyls added inline comments to D54555: [clang][slh] add attribute for speculative load hardening.
Nov 20 2018, 2:25 AM

Nov 16 2018

kristof.beyls added a comment to D54555: [clang][slh] add attribute for speculative load hardening.

Does this hardening impact the ABI in any way? e.g., do we have to do anything special to handle calls through function pointers where the bound function pointer is marked with this attribute?

Nov 16 2018, 6:50 AM
kristof.beyls added inline comments to D54555: [clang][slh] add attribute for speculative load hardening.
Nov 16 2018, 6:34 AM

Nov 9 2018

kristof.beyls accepted D53908: [AArch64] Support HiSilicon's TSV110 processor.

This patch looks fine to me, assuming the TSV110 core implements Armv8.2 including the optional extensions ARMv8.2-FP16, ARMv8.2-DotProd, ARMv8.2-FHM and SPE.

Nov 9 2018, 2:10 AM

Oct 31 2018

kristof.beyls updated the diff for D53691: Introduce bug life cycle documentation..

Add a sentence on statuses involved when triaging.

Oct 31 2018, 6:25 AM
kristof.beyls added a reviewer for D53927: [AArch64] Enable libm vectorized functions via SLEEF: fpetrogalli.
Oct 31 2018, 4:03 AM · Restricted Project
kristof.beyls updated subscribers of D53908: [AArch64] Support HiSilicon's TSV110 processor.
Oct 31 2018, 1:56 AM

Oct 29 2018

kristof.beyls added inline comments to D53691: Introduce bug life cycle documentation..
Oct 29 2018, 8:59 AM
kristof.beyls updated the diff for D53691: Introduce bug life cycle documentation..
Oct 29 2018, 8:56 AM
kristof.beyls added inline comments to D53691: Introduce bug life cycle documentation..
Oct 29 2018, 8:18 AM

Oct 28 2018

kristof.beyls added inline comments to D53691: Introduce bug life cycle documentation..
Oct 28 2018, 1:26 AM

Oct 26 2018

kristof.beyls added inline comments to D53691: Introduce bug life cycle documentation..
Oct 26 2018, 7:44 AM

Oct 25 2018

kristof.beyls updated subscribers of D53691: Introduce bug life cycle documentation..
Oct 25 2018, 2:32 AM
kristof.beyls created D53691: Introduce bug life cycle documentation..
Oct 25 2018, 2:26 AM
kristof.beyls added a comment to D53190: ARM: avoid infinite combining loop.

I guess you're mainly asking review on this to get opinions on the approach to introduce new pseudo instructions just to avoid cycles during DAG combining and/or lowering?
From the patch, I furthermore guess that introducing a new pseudo leads to quite a bit of code duplication/violations of the "don't-repeat-yourself" principle in the instruction matching patterns?

Oct 25 2018, 1:24 AM

Oct 12 2018

kristof.beyls added inline comments to D53121: [Driver] Add defaults for Android ARM FPUs..
Oct 12 2018, 1:44 AM

Oct 11 2018

kristof.beyls updated subscribers of D53121: [Driver] Add defaults for Android ARM FPUs..

This LGTM, but we should wait to hear from Kristof before submitting.

Oct 11 2018, 1:33 AM

Sep 21 2018

kristof.beyls added a comment to D52341: [mctoll] Initial changes for MC to LL raiser that takes a binary and raises it back to llvm bitcode.

Hi Aaron,

Sep 21 2018, 12:15 AM

Sep 19 2018

kristof.beyls added a reviewer for D52258: Fix for bug 34002: olista01.
Sep 19 2018, 12:32 AM

Sep 18 2018

kristof.beyls added a comment to D51862: [LNT] more pep8 code style fixes.

I'm also using pycodestyle 2.4.0. The error/warning was not about raw strings in regexps, rather illegal escape sequences, i.e.:

.\lnt\server\db\regression.py:58:20: W605 invalid escape sequence '\d'

I think using raw strings is better than using something like \\d.

Btw, I doubt that I can commit to llvm repo, so I need somebody to commit this for me. Thanks!

Sep 18 2018, 3:06 AM

Sep 7 2018

kristof.beyls added a reviewer for D51780: ARM: align loops to 4 bytes on Cortex-M3 and Cortex-M4.: SjoerdMeijer.
Sep 7 2018, 5:40 AM

Sep 6 2018

kristof.beyls added inline comments to D48580: [AArch64] Support reserving x1-7 registers..
Sep 6 2018, 2:24 AM

Aug 30 2018

kristof.beyls accepted D51465: Revamp test-suite documentation.

I am as excited by this as the other reviewers.
Thank you very much for this, Matthias!

Aug 30 2018, 5:50 AM

Aug 27 2018

kristof.beyls accepted D51157: [x86/SLH] Add a real Clang flag and LLVM IR attribute for Speculative Load Hardening..

I'm not an expert on many of the areas touched by this patch, but it looks fine from me from a high-level point-of-view, modulo a few nits I have on a few comments.

Aug 27 2018, 5:18 AM

Aug 23 2018

kristof.beyls added inline comments to D51157: [x86/SLH] Add a real Clang flag and LLVM IR attribute for Speculative Load Hardening..
Aug 23 2018, 11:15 PM

Jul 10 2018

kristof.beyls updated the summary of D49073: Introducing __builtin_speculation_safe_value.
Jul 10 2018, 1:14 AM

Jul 9 2018

kristof.beyls updated the diff for D49072: Enable automatic mitigation against control flow speculation..

update diff with full context

Jul 9 2018, 4:58 AM
kristof.beyls added a child revision for D49070: Introduce llvm.speculation_safe_value intrinsic.: D49073: Introducing __builtin_speculation_safe_value.
Jul 9 2018, 4:50 AM
kristof.beyls added a parent revision for D49073: Introducing __builtin_speculation_safe_value: D49070: Introduce llvm.speculation_safe_value intrinsic..
Jul 9 2018, 4:50 AM
kristof.beyls created D49073: Introducing __builtin_speculation_safe_value.
Jul 9 2018, 4:49 AM
kristof.beyls added a parent revision for D49072: Enable automatic mitigation against control flow speculation.: D49071: Enable lowering of llvm.speculation_safe_value to DSB/ISB pair..
Jul 9 2018, 4:46 AM
kristof.beyls added a child revision for D49071: Enable lowering of llvm.speculation_safe_value to DSB/ISB pair.: D49072: Enable automatic mitigation against control flow speculation..
Jul 9 2018, 4:46 AM
kristof.beyls created D49072: Enable automatic mitigation against control flow speculation..
Jul 9 2018, 4:46 AM
kristof.beyls removed a child revision for D41761: Introduce llvm.nospeculateload intrinsic: D49071: Enable lowering of llvm.speculation_safe_value to DSB/ISB pair..
Jul 9 2018, 4:44 AM
kristof.beyls edited parent revisions for D49071: Enable lowering of llvm.speculation_safe_value to DSB/ISB pair., added: 1; removed: 1.
Jul 9 2018, 4:44 AM
kristof.beyls added a child revision for D49070: Introduce llvm.speculation_safe_value intrinsic.: D49071: Enable lowering of llvm.speculation_safe_value to DSB/ISB pair..
Jul 9 2018, 4:44 AM
kristof.beyls added a child revision for D41761: Introduce llvm.nospeculateload intrinsic: D49071: Enable lowering of llvm.speculation_safe_value to DSB/ISB pair..
Jul 9 2018, 4:43 AM
kristof.beyls added a parent revision for D49071: Enable lowering of llvm.speculation_safe_value to DSB/ISB pair.: D41761: Introduce llvm.nospeculateload intrinsic.
Jul 9 2018, 4:43 AM
kristof.beyls created D49071: Enable lowering of llvm.speculation_safe_value to DSB/ISB pair..
Jul 9 2018, 4:42 AM
kristof.beyls added a child revision for D49069: Introduce control flow speculation tracking for AArch64.: D49070: Introduce llvm.speculation_safe_value intrinsic..
Jul 9 2018, 4:39 AM
kristof.beyls added a parent revision for D49070: Introduce llvm.speculation_safe_value intrinsic.: D49069: Introduce control flow speculation tracking for AArch64..
Jul 9 2018, 4:39 AM
kristof.beyls created D49070: Introduce llvm.speculation_safe_value intrinsic..
Jul 9 2018, 4:39 AM
kristof.beyls created D49069: Introduce control flow speculation tracking for AArch64..
Jul 9 2018, 4:36 AM

Jun 28 2018

kristof.beyls added inline comments to D47930: Make email options of find_interesting_reviews more flexible..
Jun 28 2018, 7:46 AM
kristof.beyls updated the diff for D47930: Make email options of find_interesting_reviews more flexible..
Jun 28 2018, 7:44 AM
kristof.beyls added a comment to D48580: [AArch64] Support reserving x1-7 registers..
Jun 28 2018, 12:02 AM

Jun 27 2018

kristof.beyls updated subscribers of D48581: [AArch64] Support reserving x1-7 registers..
Jun 27 2018, 12:50 AM
kristof.beyls added a comment to D48580: [AArch64] Support reserving x1-7 registers..

I believe this is aiming to implement the -ffixed-reg command line option from gcc.
The documentation is at https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html:

Jun 27 2018, 12:36 AM

Jun 22 2018

kristof.beyls accepted D48077: [LNT] Allow --use-perf=profile and --run-under to work together.

It's clear from your description that the run_under _mutateCommandLine isn't a "private" function in the module as is, and therefore removing the under score makes sense to me.
Maybe it'd be better for the mutatePlan in perf.py to be implemented in a different way so that _mutateCommandLine really can be private in the run_under module.
I'm afraid I don't have enough experience here to know whether that would be a reasonable goal, implementable with reasonable effort.
I hope @MatzeB could share his opinion on this.

Jun 22 2018, 12:05 AM

Jun 8 2018

kristof.beyls created D47930: Make email options of find_interesting_reviews more flexible..
Jun 8 2018, 12:07 AM

Jun 4 2018

kristof.beyls accepted D47581: [LNT] Fix use of field index in daily report.

LGTM.

Jun 4 2018, 6:06 AM

Jun 1 2018

kristof.beyls added a comment to D47581: [LNT] Fix use of field index in daily report.

Maybe the best way to test this is to add a helper function in tests/server/ui/V4Pages.py to extract the full content from a specific field from the table (i.e. including all HTML tags) and check against exact HTML content?

What do you think - would that be feasible and useful to implement?

After trying some things I think it will be easier to extract just the destination of the links and check that those are correct, especially as it's just the destination of the links that was wrong.

Jun 1 2018, 7:48 AM

May 31 2018

kristof.beyls added a comment to D47581: [LNT] Fix use of field index in daily report.

Hi John,

May 31 2018, 5:24 AM

May 17 2018

kristof.beyls added a comment to D46192: Script to match open Phabricator reviews with potential reviewers.

Oh - and I indeed also ran the source code through YAPF - thanks for that pointer, I didn't know that existed.

May 17 2018, 3:10 AM
kristof.beyls updated the diff for D46192: Script to match open Phabricator reviews with potential reviewers.

Many thanks for the detailed review, Jonas!
I think I've addressed all your comments - very useful feedback!

May 17 2018, 3:08 AM

May 14 2018

kristof.beyls added a comment to D46714: [test-suite] Add list of programs we might add..

It does seem like a wiki would be nice to maintain this kind of information. In the absence of that, I think that a file in the test-suite repository, or a page in www are about equally easy/hard to maintain: it requires commit access to make any changes.
A file in www in theory could be more visible as it becomes part of the llvm.org web pages. That being said, source code is also viewable online, so it's easy to browse this text too.

May 14 2018, 11:51 PM
kristof.beyls added a comment to D45000: [LNT] fix some typos/dead code.

@MatzeB Is there something else I should do for this to be commited? First time using the Phabricator so I'm a bit unfamiliar with the process.

May 14 2018, 1:30 AM

May 7 2018

kristof.beyls added inline comments to D46192: Script to match open Phabricator reviews with potential reviewers.
May 7 2018, 7:50 AM
kristof.beyls updated the diff for D46192: Script to match open Phabricator reviews with potential reviewers.
May 7 2018, 7:48 AM