HomePhabricator

Conservatively add volatility and atomic checks in a few places

Authored by reames on Oct 9 2019, 4:43 PM.

Description

Conservatively add volatility and atomic checks in a few places

As background, starting in D66309, I'm working on support unordered atomics analogous to volatile flags on normal LoadSDNode/StoreSDNodes for X86.

As part of that, I spent some time going through usages of LoadSDNode and StoreSDNode looking for cases where we might have missed a volatility check or need an atomic check. I couldn't find any cases that clearly miscompile - i.e. no test cases - but a couple of pieces in code loop suspicious though I can't figure out how to exercise them.

This patch adds defensive checks and asserts in the places my manual audit found. If anyone has any ideas on how to either a) disprove any of the checks, or b) hit the bug they might be fixing, I welcome suggestions.

Differential Revision: https://reviews.llvm.org/D68419

llvm-svn: 374261

Details

Committed
reamesOct 9 2019, 4:43 PM
Differential Revision
D68419: Conservatively add volatility and atomic checks in a few places
Parents
rG04f1effb993c: gn build: Merge r374245
Branches
Unknown
Tags
Unknown