aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Support/MathExtrasTest.cpp
diff options
context:
space:
mode:
authorPhilip Reames <listmail@philipreames.com>2021-05-14 07:52:34 -0700
committerPhilip Reames <listmail@philipreames.com>2021-05-14 07:54:56 -0700
commit3f1c218318ed2e4f37d169f1bfbb39be657dc0b4 (patch)
treea558e4efbb8986a64fb2bd62fb2925f815e60d85 /llvm/unittests/Support/MathExtrasTest.cpp
parented339111bff690c6ba87d5e25c50bcad6793a309 (diff)
downloadllvm-3f1c218318ed2e4f37d169f1bfbb39be657dc0b4.zip
llvm-3f1c218318ed2e4f37d169f1bfbb39be657dc0b4.tar.gz
llvm-3f1c218318ed2e4f37d169f1bfbb39be657dc0b4.tar.bz2
[rs4gc] Strip memory related attributes consistently
I noticed that rs4gc is not stripping a number of memory aliasing related attributes. We do strip some from call sites, but don't strip the same ones from declarations or parameters. Why do we need to strip these? Two answers: Safepoints conceptually read and write to the entire garbage collected heap in the physical model. We need this to preserve ordering of all loads and stores with respect to possible relocation. We can infer other attributes from these. For instance, readnone can imply both nofree and nosync. Both of which don't hold after physical rewriting. Note: This exposed a latent issue which was fixed a couple weeks back in 01801d5274. Differential Revision: https://reviews.llvm.org/D99802
Diffstat (limited to 'llvm/unittests/Support/MathExtrasTest.cpp')
0 files changed, 0 insertions, 0 deletions