From e71b9c446dd5d984bd8a7f603ccce96febfa678a Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Thu, 28 Jul 2011 01:20:19 +0000 Subject: Fix a use after free. An instruction can't be both an intrinsic call and a fence. llvm-svn: 136319 --- llvm/lib/Transforms/Scalar/LowerAtomic.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'llvm/lib') diff --git a/llvm/lib/Transforms/Scalar/LowerAtomic.cpp b/llvm/lib/Transforms/Scalar/LowerAtomic.cpp index 7f4d9e9c43e..0954f77f3bf 100644 --- a/llvm/lib/Transforms/Scalar/LowerAtomic.cpp +++ b/llvm/lib/Transforms/Scalar/LowerAtomic.cpp @@ -132,7 +132,7 @@ namespace { Instruction *Inst = DI++; if (IntrinsicInst *II = dyn_cast(Inst)) Changed |= LowerAtomicIntrinsic(II); - if (FenceInst *FI = dyn_cast(Inst)) + else if (FenceInst *FI = dyn_cast(Inst)) Changed |= LowerFenceInst(FI); } return Changed; -- cgit v1.2.3