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 (293 w, 5 d)

Recent Activity

Mon, Oct 12

jeroen.dobbelaere added inline comments to D87754: [Lsan] Use fp registers to search for pointers.
Mon, Oct 12, 6:15 AM · Restricted Project

Tue, Oct 6

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

Note: On some architectures, you might want to use -mllvm -enable-aa-sched-mi to make use of alias information when scheduling the machine instructions.

Tue, Oct 6, 12:56 PM · Restricted Project

Mon, Sep 21

jeroen.dobbelaere added a comment to D68488: [PATCH 03/27] [noalias] [IR] Introduce ptr_provenance for LoadInst/StoreInst.

https://llvm-compile-time-tracker.com/index.php?branch=dobbelaj-snps/perf/test_instructions_20200907-02 shows the effect of 'variant 1' and 'variant 2', on a pristine version of llvm (= without other changes related to full restrict).

Mon, Sep 21, 1:49 AM · Restricted Project

Sep 18 2020

jeroen.dobbelaere updated the diff for D69542: Full Restrict Support - single patch.

Following changes were done:

  • use 'variant 1' approach for ptr_provenance argument, getting rid of 'NumUserOperandsDelta' (See D68488)
  • fix issue with new pass manager (See D68507)
  • fix testcase issue (See D68512)
Sep 18 2020, 5:41 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68512: [PATCH 18/27] [noalias] Introduce PropagateAndConvertNoAlias pass.

Fix testcase where ptr_provenance type and ptr type were different.

Sep 18 2020, 5:37 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68507: [PATCH 14/27] [noalias] ScopedNoAliasAA: use C99 restrict rules for deducing noalias.

Fixes an issue with the new pass manager: when the DominatorTreeAnalysis is invalidated, this analysis must also be invalidated.

Sep 18 2020, 5:36 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68488: [PATCH 03/27] [noalias] [IR] Introduce ptr_provenance for LoadInst/StoreInst.

Switch to 'Variant 1': spend more time when a ptr_provenance argument is added or removed. This removes the impact on 'all instructions' in the previous version.

Sep 18 2020, 5:33 AM · Restricted Project

Sep 17 2020

jeroen.dobbelaere added inline comments to D68488: [PATCH 03/27] [noalias] [IR] Introduce ptr_provenance for LoadInst/StoreInst.
Sep 17 2020, 11:58 PM · Restricted Project
jeroen.dobbelaere added a comment to D68488: [PATCH 03/27] [noalias] [IR] Introduce ptr_provenance for LoadInst/StoreInst.

I think variant 1 is the obvious winner.
Though while i'm not familiar with the code, i'm not sure why you'd need to move args around - can't ptr_provenance be added as a new last 'argument'?

Sep 17 2020, 6:35 AM · Restricted Project
jeroen.dobbelaere added a comment to D68488: [PATCH 03/27] [noalias] [IR] Introduce ptr_provenance for LoadInst/StoreInst.

I have 3 variants of this patch:

  • variant 0 : always reserve place for the ptr_provenance; Introduce NumOfOperandsDelta to get the correct number of operands
    • extra space overhead for load/store instructions;
    • extra instruction overhead for ALL instructions ('getNumOperand()');
    • low overhead when adding/removing ptr_provenance
    • NOTE: this is the current provided patch
  • variant 1 : always reserve place for the ptr_provenance; Move arguments around when adding/removing ptr_provenance
    • extra space overhead for load/store instructions;
    • NO impact on other instructions;
    • slightly more overhead when accessing operands of load/store instructions;
    • medium overhead when adding/removing ptr_provenance
  • variant 2 : Have a LoadInst, LoadWithProvInst and StoreInst, StoreWithProvInst. Only the 'WithProv' variant reserves place for optional argument. When the ptr_provenance is added, it can involve creating a Load/StoreWithProv based on the original Load/Store. Adding/removing the ptr_provenance argument involves moving arguments around.
    • extra space only needed when we know we will need it.
    • NO impact on other instructions;
    • slightly more overhead when accessing operands of load/store instructions;
    • medium to high overhead when adding ptr_provenance. medium when removing it.
    • higher risk in keeping things correct in optimization: adding the ptr_provenance can require recreating the Load/Store instruction. This might be difficult if the optimization pass is tracking pointers to the original Load/Store instruction.
    • main benefit: almost no impact from this change if the feature is not used (aka -fno-full-restrict)
Sep 17 2020, 1:08 AM · Restricted Project
jeroen.dobbelaere added a comment to D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..

Any feedback on this patch ?

Sep 17 2020, 12:43 AM · Restricted Project

Sep 13 2020

jeroen.dobbelaere added a comment to D68488: [PATCH 03/27] [noalias] [IR] Introduce ptr_provenance for LoadInst/StoreInst.

The performance impact of different parts of this patch can be seen here: https://llvm-compile-time-tracker.com/index.php?branch=dobbelaj-snps/perf/test_instructions_20200907-01

  • Introducing the 'NumUserOperandsDelta' has a measurable impact on the number of instructions as it affects every instruction. Maybe that can be avoided ?
  • Introducing the optional extra argument for LoadInst/StoreInst has (as expected) some effect on the RSS.
Sep 13 2020, 4:35 AM · Restricted Project
jeroen.dobbelaere added a comment to D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..

The effect of the patches on the compile time can be found here: https://llvm-compile-time-tracker.com/index.php?branch=dobbelaj-snps/perf/full_restrict-20200907
For some the regressions, I already have some ideas on how reduce the impact. I propose to have the discussion at the respective patches.

Sep 13 2020, 4:29 AM · Restricted Project

Sep 10 2020

jeroen.dobbelaere updated the diff for D69542: Full Restrict Support - single patch.

D68509: Updated to correctly handle inlining when callee == caller. (Triggered by doing a stage2 compile)
D68515: Fixed build warning and testcase failure in Release mode.

Sep 10 2020, 11:36 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68522: [PATCH 26/27] [noalias] Inlining: enable --use-noalias-intrinsic-during-inlining by default.

Updated because D68509 was updated.

Sep 10 2020, 11:34 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68515: [PATCH 20/27] [noalias] SROA/PromoteMemoryToRegister: Learn how to handle noalias intrinsics.

Fixed build warning and testcase failure in Release mode.

Sep 10 2020, 11:33 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68509: [PATCH 15/27] [noalias] Use noalias intrinsics when inlining and keep metadata up to date..

Updated to correctly handle inlining when callee == caller. (Triggered by doing a stage2 compile)

Sep 10 2020, 11:32 AM · Restricted Project

Sep 7 2020

jeroen.dobbelaere abandoned D68502: [PATCH 11/26] [noalias] D9398: llvm.noalias - GetUnderlyingObjects to optionally collect noalias calls.

This patch has been merged into D68500

Sep 7 2020, 2:42 PM · Restricted Project
jeroen.dobbelaere updated the diff for D69542: Full Restrict Support - single patch.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:39 PM · Restricted Project
jeroen.dobbelaere retitled D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation. from [PATCH 01/26] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation. to [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..
Sep 7 2020, 2:37 PM · Restricted Project
jeroen.dobbelaere retitled D68487: [PATCH 02/27] [noalias] Introduce family of noalias intrinsics. from [PATCH 02/26] [noalias] Introduce family of noalias intrinsics. to [PATCH 02/27] [noalias] Introduce family of noalias intrinsics..
Sep 7 2020, 2:37 PM · Restricted Project
jeroen.dobbelaere retitled D68488: [PATCH 03/27] [noalias] [IR] Introduce ptr_provenance for LoadInst/StoreInst from [PATCH 03/26] [noalias] [IR] Introduce ptr_provenance for LoadInst/StoreInst to [PATCH 03/27] [noalias] [IR] Introduce ptr_provenance for LoadInst/StoreInst.
Sep 7 2020, 2:36 PM · Restricted Project
jeroen.dobbelaere retitled D68489: [PATCH 04/27] [noalias] [IR] parse optional ptr_provenance argument on load/store instructions from [PATCH 04/26] [noalias] [IR] parse optional ptr_provenance argument on load/store instructions to [PATCH 04/27] [noalias] [IR] parse optional ptr_provenance argument on load/store instructions.
Sep 7 2020, 2:36 PM · Restricted Project
jeroen.dobbelaere requested review of D87255: [PATCH 24/27] [noalias] DeadArgumentElimination.
Sep 7 2020, 2:35 PM · Restricted Project
jeroen.dobbelaere requested review of D87254: [PATCH 05/27] [noalias] LLVM-IR Bitcode support.
Sep 7 2020, 2:29 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68523: [PATCH 27/27] [noalias] Clang: enable full restrict by default..

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:22 PM
jeroen.dobbelaere updated the diff for D68522: [PATCH 26/27] [noalias] Inlining: enable --use-noalias-intrinsic-during-inlining by default.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:21 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68521: [PATCH 25/27] [noalias] Clang CodeGen for restrict-qualified pointers.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:21 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68518: [PATCH 23/27] [noalias] ArgumentPromotion/FunctionAttrs/GlobalOpt/InstCombine/GVN/JumpThreading.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:20 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68517: [PATCH 22/27] [noalias] SLPVectorizer: load/store can have a ptr_provenance parameter..

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:19 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68516: [PATCH 21/27] [noalias] LICM: learn about noalias intrinsics and ptr_provenance.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:19 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68515: [PATCH 20/27] [noalias] SROA/PromoteMemoryToRegister: Learn how to handle noalias intrinsics.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:18 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68514: [PATCH 19/27] [noalias] Introduce ConnectNoAliasDecl pass.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:18 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68512: [PATCH 18/27] [noalias] Introduce PropagateAndConvertNoAlias pass.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:17 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68511: [PATCH 17/27] [noalias] Clone scopes and llvm.noalias.decl as needed during loop rotation..

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:15 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68510: [PATCH 16/27] [noalias] Clone scopes and llvm.noalias.decl when unrolling..

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:14 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68509: [PATCH 15/27] [noalias] Use noalias intrinsics when inlining and keep metadata up to date..

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:14 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68507: [PATCH 14/27] [noalias] ScopedNoAliasAA: use C99 restrict rules for deducing noalias.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:13 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68505: [PATCH 13/27] [noalias] [BasicAA] look through noalias intrisics.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:12 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68504: [PATCH 12/27] [noalias] CaptureTracking: learn about new noalias intrinsics.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:12 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68500: [PATCH 11/27] [noalias] D9379: llvm.noalias and ValueTracking.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:11 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68499: [PATCH 10/27] [noalias] Loop vectorizer: learn about noalias intrinsics.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:08 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68497: [PATCH 09/27] [noalias] [CodeGen] Support lowering of noalias intrinsics.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:08 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68495: [PATCH 08/27] [noalias] EarlyCSE: learn about noalias intrinsics.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:07 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68493: [PATCH 07/27] [noalias] simplify noalias intrinsics.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:06 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68491: [PATCH 06/27] [noalias] [IR] IRBuilder support for noalias intrinsics..

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:06 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68489: [PATCH 04/27] [noalias] [IR] parse optional ptr_provenance argument on load/store instructions.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:04 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68488: [PATCH 03/27] [noalias] [IR] Introduce ptr_provenance for LoadInst/StoreInst.

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:02 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68487: [PATCH 02/27] [noalias] Introduce family of noalias intrinsics..

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:01 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 2:00 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68487: [PATCH 02/27] [noalias] Introduce family of noalias intrinsics..

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 1:57 PM · Restricted Project
jeroen.dobbelaere added a comment to D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..

Hmm. If anybody knows how to hide the inline comments from an older revision..

Sep 7 2020, 1:55 PM · Restricted Project
jeroen.dobbelaere updated the diff for D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Sep 7 2020, 1:41 PM · Restricted Project

Jul 24 2020

jeroen.dobbelaere added a comment to D62731: Add support for options -frounding-math, -ftrapping-math, -ffp-model=, and -ffp-exception-behavior=, : Specify floating point behavior.

Found some issue when looking at this code: -ftrapping_math and -fno_trapping_math will never have effect

Jul 24 2020, 5:03 AM · Restricted Project, Restricted Project

Jul 14 2020

jeroen.dobbelaere updated the diff for D69542: Full Restrict Support - single patch.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:25 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68523: [PATCH 27/27] [noalias] Clang: enable full restrict by default..

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:24 AM
jeroen.dobbelaere updated the diff for D68522: [PATCH 26/27] [noalias] Inlining: enable --use-noalias-intrinsic-during-inlining by default.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:23 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68521: [PATCH 25/27] [noalias] Clang CodeGen for restrict-qualified pointers.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:23 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68518: [PATCH 23/27] [noalias] ArgumentPromotion/FunctionAttrs/GlobalOpt/InstCombine/GVN/JumpThreading.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:23 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68517: [PATCH 22/27] [noalias] SLPVectorizer: load/store can have a ptr_provenance parameter..

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:22 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68516: [PATCH 21/27] [noalias] LICM: learn about noalias intrinsics and ptr_provenance.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:22 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68515: [PATCH 20/27] [noalias] SROA/PromoteMemoryToRegister: Learn how to handle noalias intrinsics.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:22 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68514: [PATCH 19/27] [noalias] Introduce ConnectNoAliasDecl pass.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:21 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68512: [PATCH 18/27] [noalias] Introduce PropagateAndConvertNoAlias pass.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:21 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68511: [PATCH 17/27] [noalias] Clone scopes and llvm.noalias.decl as needed during loop rotation..

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:20 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68510: [PATCH 16/27] [noalias] Clone scopes and llvm.noalias.decl when unrolling..

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:20 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68509: [PATCH 15/27] [noalias] Use noalias intrinsics when inlining and keep metadata up to date..

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:19 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68507: [PATCH 14/27] [noalias] ScopedNoAliasAA: use C99 restrict rules for deducing noalias.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:19 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68505: [PATCH 13/27] [noalias] [BasicAA] look through noalias intrisics.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:18 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68504: [PATCH 12/27] [noalias] CaptureTracking: learn about new noalias intrinsics.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:18 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68502: [PATCH 11/26] [noalias] D9398: llvm.noalias - GetUnderlyingObjects to optionally collect noalias calls.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:18 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68500: [PATCH 11/27] [noalias] D9379: llvm.noalias and ValueTracking.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:18 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68499: [PATCH 10/27] [noalias] Loop vectorizer: learn about noalias intrinsics.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:17 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68497: [PATCH 09/27] [noalias] [CodeGen] Support lowering of noalias intrinsics.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:17 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68495: [PATCH 08/27] [noalias] EarlyCSE: learn about noalias intrinsics.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:16 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68493: [PATCH 07/27] [noalias] simplify noalias intrinsics.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:16 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68491: [PATCH 06/27] [noalias] [IR] IRBuilder support for noalias intrinsics..

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:16 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68489: [PATCH 04/27] [noalias] [IR] parse optional ptr_provenance argument on load/store instructions.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:15 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68488: [PATCH 03/27] [noalias] [IR] Introduce ptr_provenance for LoadInst/StoreInst.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:14 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68487: [PATCH 02/27] [noalias] Introduce family of noalias intrinsics..

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 (July 14, 2020)

Jul 14 2020, 3:14 AM · Restricted Project
jeroen.dobbelaere updated the diff for D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..

Updated NoAliasInfo.rst to explain the relationship between @llvm.noalias and @llvm.provenance.noalias, @llvm.noalias.arg.guard

Jul 14 2020, 3:13 AM · Restricted Project

Jul 10 2020

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

Notes:

  • in a future version 'llvm.noalias' and 'llvm.provenance.noalias' will be merged into a single intrinsic.
Jul 10 2020, 9:14 AM · Restricted Project
jeroen.dobbelaere updated the summary of D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..
Jul 10 2020, 9:13 AM · Restricted Project
jeroen.dobbelaere added a comment to D82574: Merge TableGen files used for clang options.

I think that 'clang/include/clang/Driver/CC1Options.td' should also be removed ?

Jul 10 2020, 7:44 AM · Restricted Project

Jul 7 2020

jeroen.dobbelaere updated the summary of D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..
Jul 7 2020, 3:14 AM · Restricted Project
jeroen.dobbelaere updated the summary of D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..
Jul 7 2020, 3:14 AM · Restricted Project

Jun 26 2020

jeroen.dobbelaere updated the diff for D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..

Initial version of 'NoAliasInfo.rst', describing the noalias intrinsics infrastructure.

Jun 26 2020, 7:03 AM · Restricted Project

Jun 17 2020

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

A generalized version of the 'llvm.noalias.arg.guard', maybe something like 'llvm.ptr.provenance %pValue, %pProv1 [, %pProv_i]*', could convey the same information, and could be a help for fixing the bug you mentions.

Is there some semantic difference between llvm.noalias.arg.guard and something like llvm.ptr.provenance? Or is it just a difference in the intended use?

Jun 17 2020, 2:07 AM · Restricted Project

Jun 15 2020

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

getelementptr q, (ptrtoint(p)-ptrtoint(q)) should return a pointer with provenance of q, and the value of p. (http://llvm.org/docs/LangRef.html#pointer-aliasing-rules). I can't see how it isn't equivalent... unless noalias provenance is somehow different from the usual aliasing rules.

Jun 15 2020, 1:36 AM · Restricted Project
jeroen.dobbelaere updated the summary of D69542: Full Restrict Support - single patch.
Jun 15 2020, 1:03 AM · Restricted Project

Jun 12 2020

jeroen.dobbelaere updated the summary of D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..
Jun 12 2020, 12:35 PM · Restricted Project
jeroen.dobbelaere added a comment to D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..

If I'm understanding correctly, llvm.noalias.arg.guard(p, q) is equivalent to getelementptr q, p-q?

Jun 12 2020, 12:35 PM · Restricted Project
jeroen.dobbelaere updated the diff for D69542: Full Restrict Support - single patch.
Jun 12 2020, 12:02 PM · Restricted Project
jeroen.dobbelaere updated the summary of D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..
Jun 12 2020, 12:02 PM · Restricted Project
jeroen.dobbelaere abandoned D68503: [PATCH 20/38] [noalias] D9386: llvm.noalias - CaptureTracking needs to look through them.

For review convenience, all changes related to the original local restrict patches have now been incorporated in the full restrict patch series.

Jun 12 2020, 12:02 PM · Restricted Project
jeroen.dobbelaere abandoned D68506: [PATCH 23/38] [noalias] D9401: llvm.noalias - The AA implementation.

For review convenience, all changes related to the original local restrict patches have now been incorporated in the full restrict patch series.

Jun 12 2020, 12:02 PM · Restricted Project
jeroen.dobbelaere abandoned D68508: [PATCH 25/38] [noalias] D9400: llvm.noalias - Use noalias intrinsics when inlining (and update them when cloning metadata).

For review convenience, all changes related to the original local restrict patches have now been incorporated in the full restrict patch series.

Jun 12 2020, 12:02 PM · Restricted Project
jeroen.dobbelaere abandoned D68519: [PATCH 35/38] [noalias] D9403: llvm.noalias - Clang CodeGen for local restrict-qualified pointers.

For review convenience, all changes related to the original local restrict patches have now been incorporated in the full restrict patch series.

Jun 12 2020, 12:02 PM
jeroen.dobbelaere abandoned D68485: [PATCH 02/38] [noalias] D9375: An llvm.noalias intrinsic.

For review convenience, all changes related to the original local restrict patches have now been incorporated in the full restrict patch series.

Jun 12 2020, 12:02 PM · Restricted Project
jeroen.dobbelaere abandoned D68486: [PATCH 03/38] [noalias] LangRef: remove obsolete documentation of rebased D9375.

For review convenience, all changes related to the original local restrict patches have now been incorporated in the full restrict patch series.

Jun 12 2020, 12:02 PM · Restricted Project