$OpenBSD: patch-lib_CodeGen_AtomicExpandPass_cpp,v 1.1 2020/02/09 06:14:21 semarie Exp $
Fix a crash bug when lowering unordered loads to cmpxchg
https://github.com/llvm/llvm-project/commit/2153c4b8281c1e5f25887ef9183947198c50a9d2

Index: lib/CodeGen/AtomicExpandPass.cpp
--- lib/CodeGen/AtomicExpandPass.cpp.orig
+++ lib/CodeGen/AtomicExpandPass.cpp
@@ -431,6 +431,8 @@ bool AtomicExpand::expandAtomicLoadToLL(LoadInst *LI) 
 bool AtomicExpand::expandAtomicLoadToCmpXchg(LoadInst *LI) {
   IRBuilder<> Builder(LI);
   AtomicOrdering Order = LI->getOrdering();
+  if (Order == AtomicOrdering::Unordered)
+      Order = AtomicOrdering::Monotonic;
   Value *Addr = LI->getPointerOperand();
   Type *Ty = cast<PointerType>(Addr->getType())->getElementType();
   Constant *DummyVal = Constant::getNullValue(Ty);
