aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Transforms/LICM/2003-12-13-VolatilePromote.ll17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/Transforms/LICM/2003-12-13-VolatilePromote.ll b/test/Transforms/LICM/2003-12-13-VolatilePromote.ll
new file mode 100644
index 0000000000..fad03bf75e
--- /dev/null
+++ b/test/Transforms/LICM/2003-12-13-VolatilePromote.ll
@@ -0,0 +1,17 @@
+; RUN: llvm-as < %s | opt -licm | llvm-dis | grep -C1 volatile | grep Loop
+
+%X = global int 7
+
+void %testfunc(int %i) {
+ br label %Loop
+
+Loop:
+ %x = volatile load int* %X ; Should not promote this to a register
+ %x2 = add int %x, 1
+ store int %x2, int* %X
+ br bool true, label %Out, label %Loop
+
+Out:
+ ret void
+}
+