Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / MIR / X86 / duplicate-memory-operand-flag.mir
blob6f6d8377b8517c0f66c0b2b6e72857b76f644698
1 # RUN: not llc -march=x86-64 -run-pass none -o /dev/null %s 2>&1 | FileCheck %s
3 --- |
5   define i32 @volatile_inc(i32* %x) {
6   entry:
7     %0 = load volatile i32, i32* %x
8     %1 = add i32 %0, 1
9     store volatile i32 %1, i32* %x
10     ret i32 %1
11   }
13 ...
14 ---
15 name:            volatile_inc
16 tracksRegLiveness: true
17 liveins:
18   - { reg: '$rdi' }
19 body: |
20   bb.0.entry:
21     liveins: $rdi
22   ; CHECK: [[@LINE+1]]:50: duplicate 'volatile' memory operand flag
23     $eax = MOV32rm $rdi, 1, _, 0, _ :: (volatile volatile load (s32) from %ir.x)
24     $eax = INC32r killed $eax, implicit-def dead $eflags
25     MOV32mr killed $rdi, 1, _, 0, _, $eax :: (volatile store (s32) into %ir.x)
26     RET64 $eax
27 ...