[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