[all-commits] [llvm/llvm-project] a50580: [rs4gc] Strip nofree and nosync attributes when lo...

Philip Reames via All-commits all-commits at lists.llvm.org
Fri Apr 2 09:15:12 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a505801e2b7ba13b224e8f2015a64cbe03e62d35
      https://github.com/llvm/llvm-project/commit/a505801e2b7ba13b224e8f2015a64cbe03e62d35
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2021-04-02 (Fri, 02 Apr 2021)

  Changed paths:
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
    M llvm/test/Transforms/RewriteStatepointsForGC/strip-invalid-attributes.ll

  Log Message:
  -----------
  [rs4gc] Strip nofree and nosync attributes when lowering from abstract model

The safepoints being inserted exists to free memory, or coordinate with another thread to do so.  Thus, we must strip any inferred attributes and reinfer them after the lowering.

I'm not aware of any active miscompiles caused by this, but since I'm working on strengthening inference of both and leveraging them in the optimization decisions, I figured a bit of future proofing was warranted.




More information about the All-commits mailing list