Page MenuHomePhabricator

anna (Anna Thomas)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 30 2016, 11:13 AM (233 w, 4 d)

Recent Activity

Fri, Sep 18

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

thanks for this Philip!

Fri, Sep 18, 11:36 AM · Restricted Project

Thu, Sep 10

anna requested review of D87488: [ImplicitNullCheck] Hoisting multiple dependencies.
Thu, Sep 10, 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
Thu, Sep 10, 12:32 PM
anna updated the summary of D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.
Thu, Sep 10, 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
Thu, Sep 10, 10:40 AM
anna closed D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.
Thu, Sep 10, 10:40 AM · Restricted Project
anna added inline comments to D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.
Thu, Sep 10, 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).

Thu, Sep 10, 10:04 AM · Restricted Project

Tue, Sep 8

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

handle clang-tidy comment.

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

Mon, Sep 7

anna added inline comments to D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.
Mon, Sep 7, 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.

Mon, Sep 7, 7:50 PM · Restricted Project

Fri, Sep 4

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

addressed review comments.

Fri, Sep 4, 7:25 PM · Restricted Project
anna added inline comments to D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.
Fri, Sep 4, 7:23 PM · Restricted Project
anna added inline comments to D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.
Fri, Sep 4, 4:09 PM · Restricted Project
anna added inline comments to D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.
Fri, Sep 4, 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.

Fri, Sep 4, 1:35 PM · Restricted Project
anna requested review of D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.
Fri, Sep 4, 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.

Fri, Sep 4, 5:31 AM · Restricted Project
anna added inline comments to D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.
Fri, Sep 4, 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.

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

Thu, Sep 3

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

Wed, Sep 2

anna committed rG425573a2fa2d: [ImplicitNullChecks] NFC: Refactor dependence safety check (authored by anna).
[ImplicitNullChecks] NFC: Refactor dependence safety check
Wed, Sep 2, 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
Wed, Sep 2, 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
anna added a reviewer for D79867: [VectorUtils] Expose vector-function-abi-variant mangling as a utility. NFC: ebrevnov.
May 13 2020, 8:38 AM · Restricted Project
anna created D79867: [VectorUtils] Expose vector-function-abi-variant mangling as a utility. NFC.
May 13 2020, 8:37 AM · Restricted Project

May 6 2020

anna added a comment to D70107: [VFABI] TargetLibraryInfo mappings in IR..

Francesco @fpetrogalli, I was reusing this attribute for custom scalar functions and I have a fundamental question - why is it that this *only* a callsite attribute? I don't see anything preventing this from being a function attribute as well. The meaning for the function attribute being if "variant-abi" is present on the function, it implies all callsites calling this particular function has that attribute. Of course, if you have multiple units being finally linked, it is the responsibility of the front end to choose it it wants to add the function attribute or a callsite attribute. However, I strongly feel we should have support for both, because there are use cases where the vector shape etc does not change depending on the callsite. Was there a reason for not supporting it as a function attribute as well?

May 6 2020, 12:25 PM · Restricted Project
anna added a comment to D70107: [VFABI] TargetLibraryInfo mappings in IR..

Francesco @fpetrogalli, I was reusing this attribute for custom scalar functions and I have a fundamental question - why is it that this *only* a callsite attribute? I don't see anything preventing this from being a function attribute as well. The meaning for the function attribute being if "variant-abi" is present on the function, it implies all callsites calling this particular function has that attribute. Of course, if you have multiple units being finally linked, it is the responsibility of the front end to choose it it wants to add the function attribute or a callsite attribute. However, I strongly feel we should have support for both, because there are use cases where the vector shape etc does not change depending on the callsite. Was there a reason for not supporting it as a function attribute as well?

May 6 2020, 12:25 PM · Restricted Project

May 5 2020

anna added a comment to D70107: [VFABI] TargetLibraryInfo mappings in IR..

For my purposes, our front-end converts the code into IR and our use case works with adding the attribute at that point itself. I was hoping to actually avoid having the various vector declarations in the IR - frankly it's just for IR cleanliness and some compile time (depending on number of vector variants for each such scalar function) since the vector declarations won't typically be used until we do a pass for some form of vectorization (loop/SLP etc).

I understand - this was our original intent too. Add the attribute and build the vector function signature at compile time in the middle end, our of the scalar signature in the IR and the mangled string of the vector function name. We started this work last summer, until our intern @aranisumedh found out that it was not possible to retrieve the vector signatures in some cases [1]. Essentially, it turned out that only the frontend has enough information about the language types that are needed to build the correct signature in IR. hence, we decided the vector declaration to be required in the IR.

[1] See this: http://lists.llvm.org/pipermail/llvm-dev/2019-June/133225.html, and the follow up discussion. Let me know if you have any question!

what I was thinking of adding in inject-TLI-mappings or a separate pass such as "inject-vector-declarations" is:

if (call->hasAttr("variant-abi")) {
  getVectorVariantFromAttr(call, VariantNames)
  for (VName: VariantNames) 
    addVariantDeclaration(CI, VF, VName);
}

So, to that end, I think it would be better to make the property that the "vector name mentioned in the attribute should be present in the IR as a vector function declaration" as optional?

Sorry, I don't think we can do this, for the aforementioned reason, and for the sake of consistency. It would be bad to end up having code to handle the custom behavior of the attribute.

Thanks for the clarification here.

May 5 2020, 8:03 AM · Restricted Project

May 4 2020

anna added a comment to D70107: [VFABI] TargetLibraryInfo mappings in IR..

Thank you for the detailed and quick response @fpetrogalli.

@fpetrogalli I have a high level question - why does this pass require that the function should be from one of the vector libraries (Mass, SMVL etc)? I'd like to piggy-back on the vector-function-abi-variant attribute to vectorize a call to a scalar function, once the front-end adds this attribute to the callsite. So, if we have the following code in IR, with a scalar call to a function trivially.vectorizable.func with the vector-function-abi-variant attribute, we will generate the vector function declarations and then LoopVectorizer/SLPVectorizer would do its thing.

Hi @anna ,

this is exactly what the attribute is for. This pass works only with the library recognized by the TLI as a shortcut implementation to avoid doing the codegeneration of the attribute for the library functions in the frontend.

As things are, if you run opt with -O2 on your IR, the code should be vectorized with a call to the vector version, if not for the fact that the IR is missing the declaration of the actual vector function. In fact, the vector-function-abi-variant attribute requires that all the mappings listed in the attribute are resolved by some declaration/definition in the IR.

Ah, interesting. I hadn't noticed that property of the attribute. So, basically, if we were to pass the attribute through the front-end, we're required to keep the vector declarations in the IR as well.

May 4 2020, 2:32 PM · Restricted Project
anna added a comment to D70107: [VFABI] TargetLibraryInfo mappings in IR..

@fpetrogalli I have a high level question - why does this pass require that the function should be from one of the vector libraries (Mass, SMVL etc)? I'd like to piggy-back on the vector-function-abi-variant attribute to vectorize a call to a scalar function, once the front-end adds this attribute to the callsite. So, if we have the following code in IR, with a scalar call to a function trivially.vectorizable.func with the vector-function-abi-variant attribute, we will generate the vector function declarations and then LoopVectorizer/SLPVectorizer would do its thing.

May 4 2020, 11:15 AM · Restricted Project

Apr 17 2020

anna committed rGfd5e069d23bf: Fix buildbot failure due to obsolete CallSite usage (authored by anna).
Fix buildbot failure due to obsolete CallSite usage
Apr 17 2020, 3:11 PM
anna added a comment to D76792: [InlineFunction] Update metadata on loads that are return values.

Hi, some of our internal tests seems to have started crashing due to this patch.

Here's a bug report with a reduced test: https://bugs.llvm.org/show_bug.cgi?id=45590

Please take a look.

Apr 17 2020, 3:10 PM · Restricted Project
anna committed rGef49b1d97e1a: Revert "[InlineFunction] Update metadata on loads that are return values" (authored by anna).
Revert "[InlineFunction] Update metadata on loads that are return values"
Apr 17 2020, 2:38 PM
anna added a reverting change for rG1d0f75790491: [InlineFunction] Update metadata on loads that are return values: rGef49b1d97e1a: Revert "[InlineFunction] Update metadata on loads that are return values".
Apr 17 2020, 2:38 PM

Apr 6 2020

anna added a comment to D76305: [RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived pointer.

ping.

Apr 6 2020, 9:11 AM · Restricted Project

Apr 5 2020

anna committed rG1d0f75790491: [InlineFunction] Update metadata on loads that are return values (authored by anna).
[InlineFunction] Update metadata on loads that are return values
Apr 5 2020, 12:17 PM
anna closed D76792: [InlineFunction] Update metadata on loads that are return values.
Apr 5 2020, 12:17 PM · Restricted Project

Apr 2 2020

anna committed rGbf7a16a76871: [InlineFunction] Update valid return attributes at callsite within callee body (authored by anna).
[InlineFunction] Update valid return attributes at callsite within callee body
Apr 2 2020, 11:24 AM
anna closed D76140: [InlineFunction] update attributes during inlining.
Apr 2 2020, 11:23 AM · Restricted Project, Restricted Project
anna added a comment to D76792: [InlineFunction] Update metadata on loads that are return values.

thanks for the review @jdoerfert . Will incorporate these changes and rebase on landed D76140.

Apr 2 2020, 11:22 AM · Restricted Project
anna added a comment to D76140: [InlineFunction] update attributes during inlining.

LGTM again, with minor change.

will update it.

p.s. Sorry for missing the functional issue the first time. All of the test changes should have made the issue obvious, but despite reading the LangRef description of signext, I somehow managed to miss the separation between ABI and optimization attributes.

thanks for the review Philip and pointing out the problem. All of us had missed the functional issue the first time around.

Apr 2 2020, 10:17 AM · Restricted Project, Restricted Project

Apr 1 2020

anna updated the diff for D76140: [InlineFunction] update attributes during inlining.

fixed missing code left out during rebase.

Apr 1 2020, 9:01 AM · Restricted Project, Restricted Project
anna requested review of D76140: [InlineFunction] update attributes during inlining.

fixed buildbot failure. see above comments and added testcase test8.

Apr 1 2020, 8:27 AM · Restricted Project, Restricted Project
anna updated the diff for D76140: [InlineFunction] update attributes during inlining.

whitelist valid return attributes and only add those. Added testcase for signext.

Apr 1 2020, 8:27 AM · Restricted Project, Restricted Project

Mar 31 2020

anna added inline comments to D76140: [InlineFunction] update attributes during inlining.
Mar 31 2020, 2:17 PM · Restricted Project, Restricted Project
anna added a comment to D44429: [BinaryFormat] MessagePack reader/writer.

Hi,

It looks like there's some UB in this code. Pls see this failure: https://reviews.llvm.org/D76140#1953201
I'm not sure how to go about fixing the MsgPackReader code.
@scott.linder Could you PTAL?

Mar 31 2020, 2:17 PM
anna planned changes to D76140: [InlineFunction] update attributes during inlining.

see above comment.

Mar 31 2020, 2:17 PM · Restricted Project, Restricted Project
anna reopened D76140: [InlineFunction] update attributes during inlining.

I got a failure in one of the binaryFormats:
lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/MsgPackReader.cpp

Attributes 'zeroext and signext' are incompatible!
  %rev.i.i.i.i.i.i.i.i = tail call signext zeroext i16 @llvm.bswap.i16(i16 %ret.0.copyload.i.i.i.i) #6
in function _ZN4llvm7msgpack6Reader7readIntIsEENS_8ExpectedIbEERNS0_6ObjectE
fatal error: error in backend: Broken function found, compilation aborted!

I believe this just showcases undefined behaviour since we were having a returnValue (i.e. call) with an incomptable attribute compared to the return attribute on the callsite.

Mar 31 2020, 2:17 PM · Restricted Project, Restricted Project
anna committed rG58a05675daf4: Revert "[InlineFunction] Handle return attributes on call within inlined body" (authored by anna).
Revert "[InlineFunction] Handle return attributes on call within inlined body"
Mar 31 2020, 1:47 PM
anna added a reverting change for rG28518d9ae39f: [InlineFunction] Handle return attributes on call within inlined body: rG58a05675daf4: Revert "[InlineFunction] Handle return attributes on call within inlined body".
Mar 31 2020, 1:47 PM
anna added a comment to D44429: [BinaryFormat] MessagePack reader/writer.

It looks like there's some UB in this code. Pls see this failure: https://reviews.llvm.org/D76140#1953201
I'm not sure how to go about fixing the MsgPackReader code.
@scott.linder Could you PTAL?

Mar 31 2020, 1:07 PM
anna added a comment to D76140: [InlineFunction] update attributes during inlining.

I got a failure in one of the binaryFormats:
lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/MsgPackReader.cpp

Attributes 'zeroext and signext' are incompatible!
  %rev.i.i.i.i.i.i.i.i = tail call signext zeroext i16 @llvm.bswap.i16(i16 %ret.0.copyload.i.i.i.i) #6
in function _ZN4llvm7msgpack6Reader7readIntIsEENS_8ExpectedIbEERNS0_6ObjectE
fatal error: error in backend: Broken function found, compilation aborted!
Mar 31 2020, 1:07 PM · Restricted Project, Restricted Project
anna committed rG28518d9ae39f: [InlineFunction] Handle return attributes on call within inlined body (authored by anna).
[InlineFunction] Handle return attributes on call within inlined body
Mar 31 2020, 12:00 PM
anna closed D76140: [InlineFunction] update attributes during inlining.
Mar 31 2020, 11:59 AM · Restricted Project, Restricted Project

Mar 30 2020

anna added inline comments to D76140: [InlineFunction] update attributes during inlining.
Mar 30 2020, 3:16 PM · Restricted Project, Restricted Project
anna updated the diff for D76140: [InlineFunction] update attributes during inlining.

addressed review comments. Added two test cases: deref value being different, inlined callee body better optimized compared to callee.

Mar 30 2020, 2:44 PM · Restricted Project, Restricted Project
anna added inline comments to D76140: [InlineFunction] update attributes during inlining.
Mar 30 2020, 11:56 AM · Restricted Project, Restricted Project

Mar 26 2020

anna updated the diff for D76792: [InlineFunction] Update metadata on loads that are return values.

addressed review comments

Mar 26 2020, 1:39 PM · Restricted Project
anna updated the diff for D76140: [InlineFunction] update attributes during inlining.

NFC w.r.t prev diff. Use VMap.lookup instead of a lambda which does the same.

Mar 26 2020, 9:11 AM · Restricted Project, Restricted Project
anna added inline comments to D76792: [InlineFunction] Update metadata on loads that are return values.
Mar 26 2020, 6:28 AM · Restricted Project

Mar 25 2020

anna created D76792: [InlineFunction] Update metadata on loads that are return values.
Mar 25 2020, 11:53 AM · Restricted Project
anna added reviewers for D76792: [InlineFunction] Update metadata on loads that are return values: reames, jdoerfert, apilipenko.
Mar 25 2020, 11:53 AM · Restricted Project
anna added a comment to D63525: LangRef: Attempt to formulate some rules for addrspacecast.

Just chiming in here. We are planning to use addrspacecast for pointer width conversion (32 to 64 bit and vice-versa). Does not change the memory in anyway, i.e. if we lowered the addrspacecast into an IR call, that call could be marked argmemonly readnone. However, it is *not* a simple sign-extend/truncate either.
I've added some comments inline. Also, I think we have the scope to improve optimizations for addrspacecast at IR level, which is currently limited because different targets have varying lowering for addrspacecast.

Mar 25 2020, 11:21 AM · Restricted Project
anna added a comment to D76140: [InlineFunction] update attributes during inlining.

ping.

Mar 25 2020, 6:27 AM · Restricted Project, Restricted Project

Mar 23 2020

anna added inline comments to D76140: [InlineFunction] update attributes during inlining.
Mar 23 2020, 7:03 AM · Restricted Project, Restricted Project

Mar 22 2020

anna added inline comments to D76140: [InlineFunction] update attributes during inlining.
Mar 22 2020, 11:13 AM · Restricted Project, Restricted Project
anna updated the diff for D76140: [InlineFunction] update attributes during inlining.

Noticed while adding couple more tests, there were 2 bugs:

Mar 22 2020, 11:12 AM · Restricted Project, Restricted Project
anna added inline comments to D76140: [InlineFunction] update attributes during inlining.
Mar 22 2020, 9:36 AM · Restricted Project, Restricted Project

Mar 20 2020

anna updated the diff for D76140: [InlineFunction] update attributes during inlining.

use isGuaranteedToTransferExecutionToSuccessor instead of MayThrow

Mar 20 2020, 5:23 AM · Restricted Project, Restricted Project
Herald added a reviewer for D76140: [InlineFunction] update attributes during inlining: aartbik.
Mar 20 2020, 4:51 AM · Restricted Project, Restricted Project

Mar 19 2020

anna updated the diff for D76305: [RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived pointer.

refactored code, made asserts cleaner.

Mar 19 2020, 1:09 PM · Restricted Project
anna updated the diff for D76140: [InlineFunction] update attributes during inlining.

fixed clang tests. rot-intrinsics.c testcase has 5 different RUNs with 3 prefixes. Depending on target-triple, the attribute is added to the caller, so I've disabled the optimization for that specific test with -update-return-attrs=false

Mar 19 2020, 12:36 PM · Restricted Project, Restricted Project
anna added inline comments to D76305: [RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived pointer.
Mar 19 2020, 8:04 AM · Restricted Project
anna planned changes to D76305: [RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived pointer.

Will avoid confusing usage with cleaner asserts.

Mar 19 2020, 8:04 AM · Restricted Project
anna updated the diff for D76305: [RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived pointer.

addressed review comments. fixed CI failure related to clang-tidy.

Mar 19 2020, 6:59 AM · Restricted Project
anna added a comment to D76140: [InlineFunction] update attributes during inlining.

the test failures are related to attributes now being added to the calls in clang tests. All of these tests are using llvm intrinsics. Should we just disable this for intrinsic calls for now? Not sure how to update clang tests in the same patch as llvm project. Should be doable though.

Er, git is monorepo. Those tests should be checked out alongside your LLVM copy. You just need to build clang. You can and should simply update the tests in the same patch.

ah yes, I'd build llvm within it's own subdir without enabling any other projects. Build worked. thanks.

Mar 19 2020, 6:26 AM · Restricted Project, Restricted Project