Page MenuHomePhabricator

jeroen.dobbelaere (Jeroen Dobbelaere)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 4 2015, 5:47 AM (255 w, 7 h)

Recent Activity

Oct 30 2019

jeroen.dobbelaere added a comment to D69542: Full Restrict Support - single patch.

What revision is the base for this change?

Oct 30 2019, 4:16 PM · Restricted Project

Oct 28 2019

jeroen.dobbelaere updated the summary of D69542: Full Restrict Support - single patch.
Oct 28 2019, 6:05 PM · Restricted Project
jeroen.dobbelaere created D69542: Full Restrict Support - single patch.
Oct 28 2019, 6:02 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68523: [PATCH 38/38] [noalias] Clang: enable full restrict by default..

Note: 'SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr38212.test' in the 'test-suite' will be failing now as it depends on undefined behavior (reads and writes the same object through different restrict pointers that are visible in the same scope).

Oct 28 2019, 5:53 PM
jeroen.dobbelaere updated the diff for D68522: [PATCH 37/38] [noalias] Inlining: enable --use-noalias-intrinsic-during-inlining by default.

Rebased

Oct 28 2019, 5:50 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68521: [PATCH 36/38] [noalias] Clang CodeGen for restrict-qualified pointers.

Rebased

Oct 28 2019, 5:50 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68519: [PATCH 35/38] [noalias] D9403: llvm.noalias - Clang CodeGen for local restrict-qualified pointers.

Rebased

Oct 28 2019, 5:48 PM
jeroen.dobbelaere updated the diff for D68518: [PATCH 34/38] [noalias] ArgumentPromotion/FunctionAttrs/GlobalOpt/InstCombine/GVN/JumpThreading.

Rebased

Oct 28 2019, 5:47 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68517: [PATCH 33/38] [noalias] SLPVectorizer: load/store can have a noalias_sidechannel..

Rebased

Oct 28 2019, 5:47 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68516: [PATCH 32/38] [noalias] LICM: learn about noalias intrinsics and noalias_sidechannel.

Rebased

Oct 28 2019, 5:46 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68515: [PATCH 31/38] [noalias] SROA/PromoteMemoryToRegister: Learn how to handle noalias intrinsics.

Rebased

Oct 28 2019, 5:45 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68514: [PATCH 30/38] [noalias] Introduce ConnectNoAliasDecl pass.

Rebased

Oct 28 2019, 5:44 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68512: [PATCH 29/38] [noalias] Introduce PropagateAndConvertNoAlias pass.

Rebased

Oct 28 2019, 5:43 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68511: [PATCH 28/38] [noalias] Clone scopes and llvm.noalias.decl as needed during loop rotation..

Rebased

Oct 28 2019, 5:42 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68510: [PATCH 27/38] [noalias] Clone scopes and llvm.noalias.decl when unrolling..

Rebased

Oct 28 2019, 5:42 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68509: [PATCH 26/38] [noalias] Use noalias intrinsics when inlining and keep metadata up to date..

Rebased

Oct 28 2019, 5:41 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68508: [PATCH 25/38] [noalias] D9400: llvm.noalias - Use noalias intrinsics when inlining (and update them when cloning metadata).

Rebased

Oct 28 2019, 5:40 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68506: [PATCH 23/38] [noalias] D9401: llvm.noalias - The AA implementation.

Rebased

Oct 28 2019, 5:40 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68505: [PATCH 22/38] [noalias] [BasicAA] look through noalias intrisics.

Rebased

Oct 28 2019, 5:39 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68504: [PATCH 21/38] [noalias] CaptureTracking: learn about new noalias intrinsics.

Rebased

Oct 28 2019, 5:38 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68503: [PATCH 20/38] [noalias] D9386: llvm.noalias - CaptureTracking needs to look through them.

Rebased

Oct 28 2019, 5:38 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68502: [PATCH 19/38] [noalias] D9398: llvm.noalias - GetUnderlyingObjects to optionally collect noalias calls.

Rebased

Oct 28 2019, 5:37 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68501: [PATCH 18/38] [noalias] Remove noalias related part from assume test..

Rebased

Oct 28 2019, 5:36 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68500: [PATCH 17/38] [noalias] D9379: llvm.noalias - don't interfere with llvm.assume.

Rebased

Oct 28 2019, 5:36 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68499: [PATCH 16/38] [noalias] Loop vectorizer: learn about noalias intrinsics.

Rebased

Oct 28 2019, 5:35 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68498: [PATCH 15/38] [noalias] D9382: llvm.noalias - don't prevent loop vectorization.

Rebased

Oct 28 2019, 5:35 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68497: [PATCH 14/38] [noalias] [CodeGen] Support lowering of noalias intrinsics.

Rebased

Oct 28 2019, 5:34 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68496: [PATCH 13/38] [noalias] D9380: llvm.noalias - CodeGen support.

Rebased

Oct 28 2019, 5:34 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68495: [PATCH 12/38] [noalias] EarlyCSE: learn about noalias intrinsics.

Rebased

Oct 28 2019, 5:33 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68494: [PATCH 11/38] [noalias] D9377: llvm.noalias - don't block EarlyCSE.

Rebased

Oct 28 2019, 5:32 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68493: [PATCH 10/38] [noalias] simplify noalias intrinsics.

Rebased

Oct 28 2019, 5:31 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68492: [PATCH 09/38] [noalias] D9376: llvm.noalias - handling of dead intrinsics.

Rebased

Oct 28 2019, 5:31 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68491: [PATCH 08/38] [noalias] [IR] IRBuilder support for noalias intrinsics..

Rebased

Oct 28 2019, 5:30 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68490: [PATCH 07/38] [noalias] D9378: Add IRBuilder support.

Rebased

Oct 28 2019, 5:30 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68489: [PATCH 06/38] [noalias] [IR] parse optional noalias_sidechannel argument on load/store instructions.

Rebased

Oct 28 2019, 5:29 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68488: [PATCH 05/38] [noalias] [IR] Introduce noalias_sidechannel for LoadInst/StoreInst.

Rebased

Oct 28 2019, 5:28 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68487: [PATCH 04/38] [noalias] Introduce family of noalias intrinsics..

Rebased

Oct 28 2019, 5:27 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68486: [PATCH 03/38] [noalias] LangRef: remove obsolete documentation of rebased D9375.

Rebased

Oct 28 2019, 5:27 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68485: [PATCH 02/38] [noalias] D9375: An llvm.noalias intrinsic.

Rebased

Oct 28 2019, 5:26 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68484: [PATCH 01/38] [noalias] LangRef: noalias intrinsics and noalias_sidechannel documentation..

The is a rebase based on 82d3ba87d06f9e2abc6e27d8799587d433c56630

Oct 28 2019, 5:25 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68521: [PATCH 36/38] [noalias] Clang CodeGen for restrict-qualified pointers.

Use 'Twine', remove #if/#endif.

Oct 28 2019, 9:29 AM · Restricted Project
jeroen.dobbelaere added a comment to D68521: [PATCH 36/38] [noalias] Clang CodeGen for restrict-qualified pointers.

Thanks !

Oct 28 2019, 9:28 AM · Restricted Project
jeroen.dobbelaere added inline comments to D68519: [PATCH 35/38] [noalias] D9403: llvm.noalias - Clang CodeGen for local restrict-qualified pointers.
Oct 28 2019, 9:27 AM
jeroen.dobbelaere updated the diff for D68517: [PATCH 33/38] [noalias] SLPVectorizer: load/store can have a noalias_sidechannel..

This fixes a build issue in the llvm 'test-suite'.

Oct 28 2019, 9:25 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68507: [PATCH 24/38] [noalias] ScopedNoAliasAA: use C99 restrict rules for deducing noalias.

Thanks to Chandler for pointing out on how to get the recursive calls working with the new pass manager.
I also improved one testcase to really make sure that the full alias analysis chain is used, and not just the ScopedNoAliasAA part.

Oct 28 2019, 9:22 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68491: [PATCH 08/38] [noalias] [IR] IRBuilder support for noalias intrinsics..

Do not use std::forward_as_tuple.

Oct 28 2019, 9:19 AM · Restricted Project
jeroen.dobbelaere added a comment to D68491: [PATCH 08/38] [noalias] [IR] IRBuilder support for noalias intrinsics..

Yes, using forward_as_tuple might result in slower code... I am reverting that change.

Oct 28 2019, 9:18 AM · Restricted Project

Oct 14 2019

jeroen.dobbelaere updated the diff for D68523: [PATCH 38/38] [noalias] Clang: enable full restrict by default..

D68521 (Patch 36/38) was updated (Moved options to the 'f_Group' and reworked the logic).

Oct 14 2019, 6:42 AM
jeroen.dobbelaere updated the diff for D68522: [PATCH 37/38] [noalias] Inlining: enable --use-noalias-intrinsic-during-inlining by default.

D68509 (Patch 26/38) was updated (allow --use-noalias-intrinsic-during-inlining to be provided multiple times).

Oct 14 2019, 6:42 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68521: [PATCH 36/38] [noalias] Clang CodeGen for restrict-qualified pointers.

Speedup 'isRestrictOrContainsRestrictMembers' as hinted by Erich.
Moved options to the 'f_Group' and reworked the logic.

Oct 14 2019, 6:42 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68509: [PATCH 26/38] [noalias] Use noalias intrinsics when inlining and keep metadata up to date..

allow --use-noalias-intrinsic-during-inlining to be provided multiple times.

Oct 14 2019, 6:33 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68493: [PATCH 10/38] [noalias] simplify noalias intrinsics.

Do not propagate null. Improved tests.

Oct 14 2019, 6:33 AM · Restricted Project
jeroen.dobbelaere added inline comments to D68493: [PATCH 10/38] [noalias] simplify noalias intrinsics.
Oct 14 2019, 5:01 AM · Restricted Project
jeroen.dobbelaere added inline comments to D68492: [PATCH 09/38] [noalias] D9376: llvm.noalias - handling of dead intrinsics.
Oct 14 2019, 4:52 AM · Restricted Project

Oct 11 2019

jeroen.dobbelaere added inline comments to D68521: [PATCH 36/38] [noalias] Clang CodeGen for restrict-qualified pointers.
Oct 11 2019, 6:22 AM · Restricted Project

Oct 10 2019

jeroen.dobbelaere added inline comments to D68521: [PATCH 36/38] [noalias] Clang CodeGen for restrict-qualified pointers.
Oct 10 2019, 2:43 PM · Restricted Project
jeroen.dobbelaere added inline comments to D68492: [PATCH 09/38] [noalias] D9376: llvm.noalias - handling of dead intrinsics.
Oct 10 2019, 2:05 PM · Restricted Project
jeroen.dobbelaere added inline comments to D68484: [PATCH 01/38] [noalias] LangRef: noalias intrinsics and noalias_sidechannel documentation..
Oct 10 2019, 1:56 PM · Restricted Project
jeroen.dobbelaere added inline comments to D68488: [PATCH 05/38] [noalias] [IR] Introduce noalias_sidechannel for LoadInst/StoreInst.
Oct 10 2019, 1:56 PM · Restricted Project
jeroen.dobbelaere added inline comments to D68484: [PATCH 01/38] [noalias] LangRef: noalias intrinsics and noalias_sidechannel documentation..
Oct 10 2019, 1:37 PM · Restricted Project

Oct 8 2019

jeroen.dobbelaere added a comment to D68484: [PATCH 01/38] [noalias] LangRef: noalias intrinsics and noalias_sidechannel documentation..

Here is an example test.c:

struct FOO {
  int* restrict pA;
  int* pB;
  int* restrict pC;
};
Oct 8 2019, 8:26 AM · Restricted Project

Oct 7 2019

jeroen.dobbelaere added a comment to D68484: [PATCH 01/38] [noalias] LangRef: noalias intrinsics and noalias_sidechannel documentation..

Thanks for all the feedback ! I added some explanations.

Oct 7 2019, 3:38 PM · Restricted Project
jeroen.dobbelaere added inline comments to D68485: [PATCH 02/38] [noalias] D9375: An llvm.noalias intrinsic.
Oct 7 2019, 12:52 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68521: [PATCH 36/38] [noalias] Clang CodeGen for restrict-qualified pointers.

Adapt CodeGen to std::vector<int64_t> indices (was std::vector<long long>).
Adapt tests to i64 p.objId (was i32).

Oct 7 2019, 7:53 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68522: [PATCH 37/38] [noalias] Inlining: enable --use-noalias-intrinsic-during-inlining by default.

Adapt to i64 p.objId. (was i32)

Oct 7 2019, 7:25 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68515: [PATCH 31/38] [noalias] SROA/PromoteMemoryToRegister: Learn how to handle noalias intrinsics.

Adapt test to i64 p.objId. (was i32)

Oct 7 2019, 7:21 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68509: [PATCH 26/38] [noalias] Use noalias intrinsics when inlining and keep metadata up to date..

Adapt tests to i64 p.objId. (Was i32)

Oct 7 2019, 7:19 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68495: [PATCH 12/38] [noalias] EarlyCSE: learn about noalias intrinsics.

Adapt to changed rebase in D68494

Oct 7 2019, 7:17 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68494: [PATCH 11/38] [noalias] D9377: llvm.noalias - don't block EarlyCSE.

Fix bad rebase.

Oct 7 2019, 7:15 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68491: [PATCH 08/38] [noalias] [IR] IRBuilder support for noalias intrinsics..

Treat objId as uint64_t everywhere; treat indices as int64_t; use std::forward_as_tuple; .use insert instead of for-loop+push_back.

Oct 7 2019, 7:14 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68488: [PATCH 05/38] [noalias] [IR] Introduce noalias_sidechannel for LoadInst/StoreInst.

Added assert message; clang-format

Oct 7 2019, 7:10 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68484: [PATCH 01/38] [noalias] LangRef: noalias intrinsics and noalias_sidechannel documentation..

Document the type of the noalias_sidechannel for load and store.

Oct 7 2019, 6:53 AM · Restricted Project
jeroen.dobbelaere added inline comments to D68499: [PATCH 16/38] [noalias] Loop vectorizer: learn about noalias intrinsics.
Oct 7 2019, 4:07 AM · Restricted Project
jeroen.dobbelaere added inline comments to D68491: [PATCH 08/38] [noalias] [IR] IRBuilder support for noalias intrinsics..
Oct 7 2019, 3:41 AM · Restricted Project

Oct 6 2019

jeroen.dobbelaere added a comment to D68488: [PATCH 05/38] [noalias] [IR] Introduce noalias_sidechannel for LoadInst/StoreInst.

All that subtle magic about "we may have 2 operands but in some places we need to pretend that we have 3 operands" seems suboptimal to me.
Semantically, can we just always allocate space for 3 operands, but use either nullptr or undef as a magic to deduce whether we actually have the third operand?

Oct 6 2019, 12:41 PM · Restricted Project
jeroen.dobbelaere added inline comments to D68494: [PATCH 11/38] [noalias] D9377: llvm.noalias - don't block EarlyCSE.
Oct 6 2019, 12:18 PM · Restricted Project
jeroen.dobbelaere added a comment to D68484: [PATCH 01/38] [noalias] LangRef: noalias intrinsics and noalias_sidechannel documentation..

This mentions something it calls <channel> but as far as i can tell it is not actually explained *what* that is, what type it is.

Oct 6 2019, 12:01 PM · Restricted Project

Oct 5 2019

jeroen.dobbelaere updated the summary of D68484: [PATCH 01/38] [noalias] LangRef: noalias intrinsics and noalias_sidechannel documentation..
Oct 5 2019, 2:38 AM · Restricted Project

Oct 4 2019

jeroen.dobbelaere updated the summary of D68484: [PATCH 01/38] [noalias] LangRef: noalias intrinsics and noalias_sidechannel documentation..
Oct 4 2019, 3:44 PM · Restricted Project
jeroen.dobbelaere created D68522: [PATCH 37/38] [noalias] Inlining: enable --use-noalias-intrinsic-during-inlining by default.
Oct 4 2019, 3:35 PM · Restricted Project
jeroen.dobbelaere created D68523: [PATCH 38/38] [noalias] Clang: enable full restrict by default..
Oct 4 2019, 3:35 PM
jeroen.dobbelaere created D68521: [PATCH 36/38] [noalias] Clang CodeGen for restrict-qualified pointers.
Oct 4 2019, 3:35 PM · Restricted Project
jeroen.dobbelaere created D68519: [PATCH 35/38] [noalias] D9403: llvm.noalias - Clang CodeGen for local restrict-qualified pointers.
Oct 4 2019, 3:25 PM
jeroen.dobbelaere created D68518: [PATCH 34/38] [noalias] ArgumentPromotion/FunctionAttrs/GlobalOpt/InstCombine/GVN/JumpThreading.
Oct 4 2019, 3:25 PM · Restricted Project
jeroen.dobbelaere created D68517: [PATCH 33/38] [noalias] SLPVectorizer: load/store can have a noalias_sidechannel..
Oct 4 2019, 3:19 PM · Restricted Project
jeroen.dobbelaere created D68516: [PATCH 32/38] [noalias] LICM: learn about noalias intrinsics and noalias_sidechannel.
Oct 4 2019, 3:17 PM · Restricted Project
jeroen.dobbelaere created D68515: [PATCH 31/38] [noalias] SROA/PromoteMemoryToRegister: Learn how to handle noalias intrinsics.
Oct 4 2019, 3:15 PM · Restricted Project
jeroen.dobbelaere created D68514: [PATCH 30/38] [noalias] Introduce ConnectNoAliasDecl pass.
Oct 4 2019, 3:11 PM · Restricted Project
jeroen.dobbelaere created D68512: [PATCH 29/38] [noalias] Introduce PropagateAndConvertNoAlias pass.
Oct 4 2019, 3:10 PM · Restricted Project
jeroen.dobbelaere created D68511: [PATCH 28/38] [noalias] Clone scopes and llvm.noalias.decl as needed during loop rotation..
Oct 4 2019, 3:10 PM · Restricted Project
jeroen.dobbelaere created D68510: [PATCH 27/38] [noalias] Clone scopes and llvm.noalias.decl when unrolling..
Oct 4 2019, 3:07 PM · Restricted Project
jeroen.dobbelaere created D68509: [PATCH 26/38] [noalias] Use noalias intrinsics when inlining and keep metadata up to date..
Oct 4 2019, 3:06 PM · Restricted Project
jeroen.dobbelaere created D68508: [PATCH 25/38] [noalias] D9400: llvm.noalias - Use noalias intrinsics when inlining (and update them when cloning metadata).
Oct 4 2019, 3:01 PM · Restricted Project
jeroen.dobbelaere created D68507: [PATCH 24/38] [noalias] ScopedNoAliasAA: use C99 restrict rules for deducing noalias.
Oct 4 2019, 3:01 PM · Restricted Project
jeroen.dobbelaere created D68506: [PATCH 23/38] [noalias] D9401: llvm.noalias - The AA implementation.
Oct 4 2019, 2:55 PM · Restricted Project
jeroen.dobbelaere created D68505: [PATCH 22/38] [noalias] [BasicAA] look through noalias intrisics.
Oct 4 2019, 2:54 PM · Restricted Project
jeroen.dobbelaere added reviewers for D68504: [PATCH 21/38] [noalias] CaptureTracking: learn about new noalias intrinsics: hfinkel, jdoerfert.
Oct 4 2019, 2:50 PM · Restricted Project
jeroen.dobbelaere created D68504: [PATCH 21/38] [noalias] CaptureTracking: learn about new noalias intrinsics.
Oct 4 2019, 2:50 PM · Restricted Project
jeroen.dobbelaere created D68503: [PATCH 20/38] [noalias] D9386: llvm.noalias - CaptureTracking needs to look through them.
Oct 4 2019, 2:49 PM · Restricted Project
jeroen.dobbelaere created D68502: [PATCH 19/38] [noalias] D9398: llvm.noalias - GetUnderlyingObjects to optionally collect noalias calls.
Oct 4 2019, 2:48 PM · Restricted Project