Page MenuHomePhabricator

anna (Anna Thomas)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 30 2016, 11:13 AM (256 w, 2 d)

Recent Activity

Dec 8 2020

anna committed rG29356e3279b2: [ScalarizeMaskedMemIntrin] Add new PM support (authored by anna).
[ScalarizeMaskedMemIntrin] Add new PM support
Dec 8 2020, 2:16 PM
anna closed D92743: [ScalarizeMaskedMemIntrin] Add new PM support.
Dec 8 2020, 2:15 PM · Restricted Project
anna added a comment to D92743: [ScalarizeMaskedMemIntrin] Add new PM support.

Also, I have run the tests with enable-new-pm=true. However, there are 36 failures which are already failing with new-PM without my change (had to build both with and without my change to confirm this). Is there some buildbot that tracks the NewPM option? It will make it easier to catch if any testcases regress...

I'm working on reducing it to 0 so that we can have a bot that checks if it regresses.

Great, thanks!

Dec 8 2020, 12:49 PM · Restricted Project
anna updated the diff for D92743: [ScalarizeMaskedMemIntrin] Add new PM support.

missed one review comment: move DL initialization to runImpl.

Dec 8 2020, 12:47 PM · Restricted Project
anna updated the diff for D92743: [ScalarizeMaskedMemIntrin] Add new PM support.

addressed review comments

Dec 8 2020, 12:41 PM · Restricted Project
anna added a comment to D92743: [ScalarizeMaskedMemIntrin] Add new PM support.

can you remove this from the list in https://github.com/llvm/llvm-project/blob/6e614b0c7ed3a9a66428f342bf2a4b3700525395/llvm/tools/opt/opt.cpp#L463 and make sure that no check-llvm tests regress when -enable-new-pm is turned on by default? (I should rename that function)

Yes, pls rename the function since it actually represents which passes are not yet ported to NewPM.
Also, I have run the tests with enable-new-pm=true. However, there are 36 failures which are already failing with new-PM without my change (had to build both with and without my change to confirm this). Is there some buildbot that tracks the NewPM option? It will make it easier to catch if any testcases regress...

Dec 8 2020, 12:40 PM · Restricted Project
anna committed rG09f2f9605fba: [ScalarizeMaskedMemIntrinsic] Move from CodeGen into Transforms (authored by anna).
[ScalarizeMaskedMemIntrinsic] Move from CodeGen into Transforms
Dec 8 2020, 9:31 AM
anna closed D92407: [ScalarizeMaskedMemIntrinsic] Move from CodeGen into Transforms.
Dec 8 2020, 9:31 AM · Restricted Project

Dec 7 2020

anna added inline comments to D92743: [ScalarizeMaskedMemIntrin] Add new PM support.
Dec 7 2020, 5:27 PM · Restricted Project
anna added a comment to D92743: [ScalarizeMaskedMemIntrin] Add new PM support.

Please consider separate renaming to Legacy to NFC patch.

Dec 7 2020, 12:24 PM · Restricted Project
anna added a comment to D92407: [ScalarizeMaskedMemIntrinsic] Move from CodeGen into Transforms.

ping.

Dec 7 2020, 6:58 AM · Restricted Project

Dec 6 2020

anna updated the diff for D92743: [ScalarizeMaskedMemIntrin] Add new PM support.

missed adding new header file to diff.

Dec 6 2020, 7:56 PM · Restricted Project
anna requested review of D92743: [ScalarizeMaskedMemIntrin] Add new PM support.
Dec 6 2020, 7:55 PM · Restricted Project

Dec 3 2020

anna updated the diff for D92407: [ScalarizeMaskedMemIntrinsic] Move from CodeGen into Transforms.

rebased over landed NFCs.

Dec 3 2020, 11:06 AM · Restricted Project
anna committed rGfb2e109d4520: [ScalarizeMaskedMemIntrin] NFC: Pass args by reference (authored by anna).
[ScalarizeMaskedMemIntrin] NFC: Pass args by reference
Dec 3 2020, 11:04 AM
anna committed rGf86ec1e1fc46: [ScalarizeMaskedMemIntrin] NFC: Convert member functions to static (authored by anna).
[ScalarizeMaskedMemIntrin] NFC: Convert member functions to static
Dec 3 2020, 8:47 AM

Dec 2 2020

anna added a comment to D92056: [LoopVec] Support global addresses as argument to uniform mem ops.

Nice catch! LGTM from me. One comment inline. Pls see if @fhahn has any comments as well?

Dec 2 2020, 1:21 PM · Restricted Project
anna updated the diff for D92407: [ScalarizeMaskedMemIntrinsic] Move from CodeGen into Transforms.

addressed review comments

Dec 2 2020, 12:08 PM · Restricted Project
anna added inline comments to D92407: [ScalarizeMaskedMemIntrinsic] Move from CodeGen into Transforms.
Dec 2 2020, 11:33 AM · Restricted Project

Dec 1 2020

anna updated the diff for D92407: [ScalarizeMaskedMemIntrinsic] Move from CodeGen into Transforms.

missed adding new file into commit.

Dec 1 2020, 10:23 AM · Restricted Project
anna requested review of D92407: [ScalarizeMaskedMemIntrinsic] Move from CodeGen into Transforms.
Dec 1 2020, 10:22 AM · Restricted Project

Nov 18 2020

anna added inline comments to D90456: [IndVars] Use more precise context when eliminating narrowing.
Nov 18 2020, 8:38 AM · Restricted Project

Nov 17 2020

anna added inline comments to D90456: [IndVars] Use more precise context when eliminating narrowing.
Nov 17 2020, 8:48 AM · Restricted Project

Nov 16 2020

anna added inline comments to D91398: [LoopVectorizer] Lower uniform loads as a single load (instead of relying on CSE).
Nov 16 2020, 1:31 PM · Restricted Project

Nov 12 2020

anna added a comment to D90592: [llvm-exegesis] Save target state before running the benchmark..

Just recording here (previous discussion was here D90742) :
our internal buildbots at Azul has failed because of an older assembler. We’ve taken in all commits/reverts/relands w.r.t this change upto Nov 4th. I have reverted the change rG8383fddc4fa9 downstream and confirmed the build passes.

Nov 12 2020, 9:56 AM · Restricted Project
anna added a comment to D90742: [llvm-exegesis][X86] Save and restore eflags..

We use the GNU assembler and it is configured for 64 bit machines. Here's the details from one of the machines:

as --version
GNU assembler version 2.20.51.0.2-5.47.el6_9.1 20100205
Copyright 2009 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-redhat-linux'

Also, note that I tagged this against the incorrect review. The change causing the failures is https://reviews.llvm.org/D90592. I'm going to paste this there and we can continue discussion there.

Nov 12 2020, 7:05 AM · Restricted Project

Nov 11 2020

anna added a comment to D88527: [IndVars] Replace checks with invariants if we cannot remove them.

Just a stylistic comment. You can have the InvariantCond as a struct with the fields: InvariantPred, InvariantLHS, InvariantRHS. I think this will make code more readable (for example, use the struct in ReplaceInvariantCond(ExitingBB, InvariantCond).

Nov 11 2020, 7:18 PM · Restricted Project
anna added a comment to D90742: [llvm-exegesis][X86] Save and restore eflags..

hi @courbet,
our internal buildbots at Azul has failed because of an older assembler. We’ve taken in all commits/reverts/relands w.r.t this change upto Nov 4th.

Nov 11 2020, 1:56 PM · Restricted Project

Nov 10 2020

anna added a comment to D90688: [CaptureTracking] Avoid overly restrictive dominates check.

Hi @nikic, some comments below.

I've applied a couple of fixes to CaptureTracking, the main ones are: https://github.com/llvm/llvm-project/commit/d35366bccae0016418660337ce94e3d7d0ff391e is a potential correctness fix, https://github.com/llvm/llvm-project/commit/f63ab188c63be12871da75bfc5801a7fc752769b is a compile-time improvement.

Ah, I think your correctness fix is what Johannes was implying by the "multiple args captured" in a single call.

Nov 10 2020, 10:09 AM · Restricted Project

Nov 5 2020

anna added a comment to D90688: [CaptureTracking] Avoid overly restrictive dominates check.

This change causes a large compile-time regression on some benchmarks: https://llvm-compile-time-tracker.com/compare.php?from=79d16764dd29aeddb7e6400e6b2d89d31653886c&to=15694fd6ad955c6a16b446a6324364111a49ae8b&stat=instructions

tramp3d-v4 is particularly badly affected, with a 25% instruction count regression in the ThinLTO configuration.

Nov 5 2020, 9:56 AM · Restricted Project
anna added a comment to D90688: [CaptureTracking] Avoid overly restrictive dominates check.
Nov 5 2020, 9:29 AM · Restricted Project
anna added a reverting change for rG15694fd6ad95: [CaptureTracking] Avoid overly restrictive dominates check: rGafe92642cc73: Revert "[CaptureTracking] Avoid overly restrictive dominates check".
Nov 5 2020, 9:27 AM
anna committed rGafe92642cc73: Revert "[CaptureTracking] Avoid overly restrictive dominates check" (authored by anna).
Revert "[CaptureTracking] Avoid overly restrictive dominates check"
Nov 5 2020, 9:27 AM
anna added a reverting change for D90688: [CaptureTracking] Avoid overly restrictive dominates check: rGafe92642cc73: Revert "[CaptureTracking] Avoid overly restrictive dominates check".
Nov 5 2020, 9:27 AM · Restricted Project
anna committed rG15694fd6ad95: [CaptureTracking] Avoid overly restrictive dominates check (authored by anna).
[CaptureTracking] Avoid overly restrictive dominates check
Nov 5 2020, 8:39 AM
anna closed D90688: [CaptureTracking] Avoid overly restrictive dominates check.
Nov 5 2020, 8:39 AM · Restricted Project

Nov 3 2020

anna added a comment to D90688: [CaptureTracking] Avoid overly restrictive dominates check.

LGTM. Attributor does the same with an "optimistic" version of reachability via AAReachability. I guess that is why no test there changed.

Nov 3 2020, 10:55 AM · Restricted Project
anna updated subscribers of D90106: [JumpThreading] Set edge probabilities when creating basic blocks.

Hi @kazu, just wanted to point out - We have seen multiple assertion failures in benchmarks downstream with this patch (or a related one built on this patch). Trying to revert this downstream shows there are dependent patches. Is this assertion seen and already fixed in trunk?

Nov 3 2020, 10:34 AM · Restricted Project
anna abandoned D87488: [ImplicitNullCheck] Hoisting multiple dependencies.

may revisit later.

Nov 3 2020, 8:28 AM · Restricted Project
anna requested review of D90688: [CaptureTracking] Avoid overly restrictive dominates check.
Nov 3 2020, 8:26 AM · Restricted Project

Oct 30 2020

anna committed rG7aac3a904887: [CFG] Replace hardcoded max BBs explored as CL option. NFC. (authored by anna).
[CFG] Replace hardcoded max BBs explored as CL option. NFC.
Oct 30 2020, 12:12 PM
anna closed D90487: [CFG] Replace hardcoded max BBs explored as CL option. NFC..
Oct 30 2020, 12:12 PM · Restricted Project
anna added inline comments to D90487: [CFG] Replace hardcoded max BBs explored as CL option. NFC..
Oct 30 2020, 11:36 AM · Restricted Project
anna requested review of D90487: [CFG] Replace hardcoded max BBs explored as CL option. NFC..
Oct 30 2020, 11:07 AM · Restricted Project

Oct 14 2020

anna added a comment to D87304: [AttributeFuncs] Consider `align` in `typeIncompatible`.

I wonder if align attribute is legal for vectors of pointers?
This is allowed:

define align 8 i32* @test_scalar(i32* %in) {
  ret i32* %in
}

but this is not:

define align 8 <4 x i32*> @test_vector(<4 x i32*> %in) {
  ret <4 x i32*> %in
}

Is it intentional behavior or just has been overlooked?

The way I read the lang ref this is intentional. Not to say one should not define what it means for vectors of pointers and then allow it. I feel align is not the only one missing for them though.
You want to give it a try?

Oct 14 2020, 5:29 AM · Restricted Project

Oct 7 2020

anna committed rG35cb45c533fb: [ImplicitNullChecks] Support complex addressing mode (authored by anna).
[ImplicitNullChecks] Support complex addressing mode
Oct 7 2020, 5:56 PM
anna closed D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.
Oct 7 2020, 5:55 PM · Restricted Project
anna updated the diff for D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.

addressed review comments, rebased and updated for AArch64 (this patch is NFC in behaviour for AArch64).

Oct 7 2020, 1:07 PM · Restricted Project
anna added inline comments to D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.
Oct 7 2020, 1:05 PM · Restricted Project

Oct 6 2020

anna added a comment to D88861: GC-parseable element atomic memcpy/memmove.

Hi Artur, just to explicitly state out:

But element atomic memcpy/memmove intrinsic calls might be generated by the optimizer, which is not aware of this coupling. If statepoints without deopt into are not allowed and we see a non-leaf memcpy/memmove without deopt state we treat it as a leaf copy and don't produce a statepoint

If a long running loop of loads and stores are converted to atomic memcpy (through loop idiom recognize for example) and we don't produce a statepoint - this will make the memcpy non GC parseable, which is erroneous. So, it is the responsibility of such runtimes to also introduce some mechanism to prevent long running loops from being converted to memcpys (such as having safepoint requests within the loop thereby preventing long running loops from being converted to memcpy: https://llvm.org/docs/Statepoints.html#id27).

Oct 6 2020, 8:49 AM · Restricted Project

Sep 29 2020

anna updated the diff for D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.

addressed review comments. Bails out in case of overflow (added testcase for multiply overflow).

Sep 29 2020, 9:55 AM · Restricted Project

Sep 24 2020

anna added inline comments to D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.
Sep 24 2020, 9:49 AM · Restricted Project
anna updated the diff for D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.

addressed review comments about splitting out patches. This patch handles complex addressing mode.

Sep 24 2020, 8:38 AM · Restricted Project

Sep 18 2020

anna accepted D87861: [instcombine][x86] Converted pdep/pext with shifted mask to simple arithmetic.

thanks for this Philip!

Sep 18 2020, 11:36 AM · Restricted Project

Sep 10 2020

anna requested review of D87488: [ImplicitNullCheck] Hoisting multiple dependencies.
Sep 10 2020, 7:13 PM · Restricted Project
anna committed rGb1b980637019: [ImplicitNullChecks] NFC: Remove unused PointerReg arg in dep analysis (authored by anna).
[ImplicitNullChecks] NFC: Remove unused PointerReg arg in dep analysis
Sep 10 2020, 12:32 PM
anna updated the summary of D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.
Sep 10 2020, 10:58 AM · Restricted Project
anna committed rG46329f6079da: [ImplicitNullCheck] Handle instructions that preserve zero value (authored by anna).
[ImplicitNullCheck] Handle instructions that preserve zero value
Sep 10 2020, 10:40 AM
anna closed D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.
Sep 10 2020, 10:40 AM · Restricted Project
anna added inline comments to D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.
Sep 10 2020, 10:08 AM · Restricted Project
anna updated the diff for D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.

addressed review comments. Added more testcases (positive and countercases).

Sep 10 2020, 10:04 AM · Restricted Project

Sep 8 2020

anna updated the diff for D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.

handle clang-tidy comment.

Sep 8 2020, 11:54 AM · Restricted Project
anna edited reviewers for D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing, added: reames; removed: philip.
Sep 8 2020, 8:04 AM · Restricted Project

Sep 7 2020

anna added inline comments to D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.
Sep 7 2020, 7:52 PM · Restricted Project
anna updated the diff for D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.

handles complex addressing mode using base and index operands. All test cases pass.
I plan to add more counter examples once the basic idea is agreed upon.

Sep 7 2020, 7:50 PM · Restricted Project

Sep 4 2020

anna updated the diff for D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.

addressed review comments.

Sep 4 2020, 7:25 PM · Restricted Project
anna added inline comments to D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.
Sep 4 2020, 7:23 PM · Restricted Project
anna added inline comments to D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.
Sep 4 2020, 4:09 PM · Restricted Project
anna added inline comments to D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.
Sep 4 2020, 3:24 PM · Restricted Project
anna planned changes to D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.

While working on a follow-up change, I realized we don't need to separate out whether we're handling simple or complex addressing mode based on whether we fault in zero page or not. Both are orthogonal issues. The reason I coupled them is because we still need a way to get the "total constant address" *if it exists* and make a distinction between when we succeeded to get one versus when there was no such constant address apart from the offset.

Sep 4 2020, 1:35 PM · Restricted Project
anna requested review of D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.
Sep 4 2020, 8:43 AM · Restricted Project
anna added a comment to D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.

thanks Denis for your comments. I'll let others have a chance in review as well. Regarding broader audience today, implicit null checks works only with X86 (or rather that's what we test with). Also, none of the global APIs are changed, precisely because they are used in other parts of the code. Hence a new API is introduced and used currently only for implicit null checks. It is broad enough that we can reuse it in other passes if we wish to do so.

Sep 4 2020, 5:31 AM · Restricted Project
anna added inline comments to D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.
Sep 4 2020, 5:28 AM · Restricted Project
anna updated the diff for D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.

addressed review comments around using simpler form rather than isTied. Whitespace testcase changes avoided. NFC w.r.t. prev diff.

Sep 4 2020, 5:26 AM · Restricted Project
anna added inline comments to D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.
Sep 4 2020, 3:54 AM · Restricted Project

Sep 3 2020

anna added inline comments to D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.
Sep 3 2020, 12:09 PM · Restricted Project
anna requested review of D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.
Sep 3 2020, 12:08 PM · Restricted Project

Sep 2 2020

anna committed rG425573a2fa2d: [ImplicitNullChecks] NFC: Refactor dependence safety check (authored by anna).
[ImplicitNullChecks] NFC: Refactor dependence safety check
Sep 2 2020, 7:30 AM
anna committed rG6f7737c46811: [ImplicitNullChecks] NFC: Separated out checks and added comments (authored by anna).
[ImplicitNullChecks] NFC: Separated out checks and added comments
Sep 2 2020, 7:30 AM

Jun 4 2020

anna accepted D81121: [Statepoint] Switch RS4GC to using gc-live bundle form.

Code LGTM. quick glance at tests.

Jun 4 2020, 12:45 PM · Restricted Project

Jun 2 2020

anna added a comment to D80937: Introduce a "gc-live" bundle for the gc arguments of a statepoint.

LGTM w/ comments inline.

Jun 2 2020, 10:25 AM · Restricted Project
anna accepted D80937: Introduce a "gc-live" bundle for the gc arguments of a statepoint.
Jun 2 2020, 10:25 AM · Restricted Project

May 26 2020

anna accepted D80598: Start migrating away from statepoint's inline length prefixed argument bundles.

LGTM. thanks for working on this! Apart from dropping all of the extra handling code in RS4GC and verifier (which itself is a really good reason for this support btw), I'm assuming this for optimizations which know about the deopt_op bundle (or gc_transition bundle) after relocations are made explicit? i.e., a general robustness patch.

May 26 2020, 8:10 PM · Restricted Project

May 15 2020

anna committed rG7cc3769adb15: [VectorUtils] Expose vector-function-abi-variant mangling as a utility. (authored by anna).
[VectorUtils] Expose vector-function-abi-variant mangling as a utility.
May 15 2020, 9:13 AM
anna closed D79867: [VectorUtils] Expose vector-function-abi-variant mangling as a utility. NFC.
May 15 2020, 9:13 AM · Restricted Project
anna added a comment to D79867: [VectorUtils] Expose vector-function-abi-variant mangling as a utility. NFC.

thank you for the review!

May 15 2020, 9:11 AM · Restricted Project

May 14 2020

anna updated the diff for D79867: [VectorUtils] Expose vector-function-abi-variant mangling as a utility. NFC.

addressed review comment about test case.

May 14 2020, 4:53 PM · Restricted Project
anna added inline comments to D79867: [VectorUtils] Expose vector-function-abi-variant mangling as a utility. NFC.
May 14 2020, 4:53 PM · Restricted Project
anna updated the diff for D79867: [VectorUtils] Expose vector-function-abi-variant mangling as a utility. NFC.

addressed review comments. Added unittest case.

May 14 2020, 2:08 PM · Restricted Project
anna added inline comments to D79867: [VectorUtils] Expose vector-function-abi-variant mangling as a utility. NFC.
May 14 2020, 1:36 PM · Restricted Project
anna committed rGeb282be9f8e9: [RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived pointer"" (authored by anna).
[RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived pointer""
May 14 2020, 8:38 AM
anna committed rGf20c62741e7b: Revert "[RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived… (authored by anna).
Revert "[RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived…
May 14 2020, 7:33 AM
anna added a reverting change for rGbb308b020522: [RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived pointer: rGf20c62741e7b: Revert "[RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived….
May 14 2020, 7:33 AM
anna committed rGbb308b020522: [RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived pointer (authored by anna).
[RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived pointer
May 14 2020, 7:32 AM
anna closed D76305: [RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived pointer.

Landed as bb308b020522420413c7d3f2989a88f2fc423c56.

May 14 2020, 7:32 AM · Restricted Project
anna added inline comments to D76305: [RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived pointer.
May 14 2020, 6:25 AM · Restricted Project

May 13 2020

anna added a comment to D79867: [VectorUtils] Expose vector-function-abi-variant mangling as a utility. NFC.

Thanks Johannes. @fpetrogalli Francesco, I believe I've addressed your concern as well?

May 13 2020, 12:32 PM · Restricted Project
anna committed rG0ab3ba230e92: NFC: Avoid redundant checks for vector-function-abi-variant attribute (authored by anna).
NFC: Avoid redundant checks for vector-function-abi-variant attribute
May 13 2020, 10:51 AM
anna added a comment to D70107: [VFABI] TargetLibraryInfo mappings in IR..

I don't see anything preventing this from being a function attribute as well.

HI @anna ,

apologies in advance for the late reply.

I don't think we want this. Imagine situation in which proto.h contains a scalar declaration foo marked with #pragma ompe declare simd. Suppose you include this header in 2 compilation units, one (sourceA.c) that can be compiled with -fopenmp-simd, and one (sourceB.c) that cannot be compiled with openmp - for any reason, for example because of some requirements on floating points computations. Then, you want to do some optimization that involves merging the two modules. The calls to foo in the IR generated from sourceB.c suddenly become vectorizable, which is wrong. So, overall, I think we should not attach this attribute to a function declaration.

I appreciate that what I described might be a remote possibility, but if we ever end up having to deal with it, it will be quite hard to fix.

Let me know if you have any question.

Kind regards,

Francesco

May 13 2020, 10:17 AM · Restricted Project
anna added a comment to D79867: [VectorUtils] Expose vector-function-abi-variant mangling as a utility. NFC.

Hi @fpetrogalli,
Yes, but it should be orthogonal to that requirement. I think hiding the mangling behind a static function, while the demangling is exposed seems unintuitive. Any front-ends that need to attach the attribute will need this function exposed.

May 13 2020, 10:17 AM · Restricted Project