summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2017-08-23 15:43:28 +0000
committerHans Wennborg <hans@hanshq.net>2017-08-23 15:43:28 +0000
commit66f6fc0a49231aee5a565822be46863ef6e4ed2d (patch)
tree8280f342ab53171c634cd756f3b621a635fbfe96 /llvm/test/Transforms
parentb2c0794e307c69018e90d28ea602f628bf0b8e8d (diff)
downloadbcm5719-llvm-66f6fc0a49231aee5a565822be46863ef6e4ed2d.tar.gz
bcm5719-llvm-66f6fc0a49231aee5a565822be46863ef6e4ed2d.zip
LowerAtomic: Don't skip optnone functions; atomic still need lowering (PR34020)
The lowering isn't really an optimization, so optnone shouldn't make a difference. ARM relies on the pass running when using "-mthread-model single", because in that mode, it doesn't run AtomicExpand. See bug for more details. Differential Revision: https://reviews.llvm.org/D37040 llvm-svn: 311565
Diffstat (limited to 'llvm/test/Transforms')
-rw-r--r--llvm/test/Transforms/LowerAtomic/atomic-swap.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LowerAtomic/atomic-swap.ll b/llvm/test/Transforms/LowerAtomic/atomic-swap.ll
index 77000527a11..59a5caed481 100644
--- a/llvm/test/Transforms/LowerAtomic/atomic-swap.ll
+++ b/llvm/test/Transforms/LowerAtomic/atomic-swap.ll
@@ -26,3 +26,14 @@ define i8 @swap() {
ret i8 %j
; CHECK: ret i8 [[INST]]
}
+
+
+define i8 @swap_optnone() noinline optnone {
+; CHECK-LABEL: @swap_optnone(
+ %i = alloca i8
+ %j = atomicrmw xchg i8* %i, i8 42 monotonic
+; CHECK: [[INST:%[a-z0-9]+]] = load
+; CHECK-NEXT: store
+ ret i8 %j
+; CHECK: ret i8 [[INST]]
+}
OpenPOWER on IntegriCloud