From e86d51533d43a6d73692ddb16a061af263912ae5 Mon Sep 17 00:00:00 2001 From: Alex Lorenz Date: Thu, 6 Aug 2015 18:26:36 +0000 Subject: MIR Parser: Report an error when parsing duplicate memory operand flags. llvm-svn: 244240 --- .../MIR/X86/duplicate-memory-operand-flag.mir | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 llvm/test/CodeGen/MIR/X86/duplicate-memory-operand-flag.mir (limited to 'llvm/test/CodeGen') diff --git a/llvm/test/CodeGen/MIR/X86/duplicate-memory-operand-flag.mir b/llvm/test/CodeGen/MIR/X86/duplicate-memory-operand-flag.mir new file mode 100644 index 00000000000..f608195387f --- /dev/null +++ b/llvm/test/CodeGen/MIR/X86/duplicate-memory-operand-flag.mir @@ -0,0 +1,29 @@ +# RUN: not llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s + +--- | + + define i32 @volatile_inc(i32* %x) { + entry: + %0 = load volatile i32, i32* %x + %1 = add i32 %0, 1 + store volatile i32 %1, i32* %x + ret i32 %1 + } + +... +--- +name: volatile_inc +tracksRegLiveness: true +liveins: + - { reg: '%rdi' } +body: + - id: 0 + name: entry + liveins: [ '%rdi' ] + instructions: +# CHECK: [[@LINE+1]]:55: duplicate 'volatile' memory operand flag + - '%eax = MOV32rm %rdi, 1, _, 0, _ :: (volatile volatile load 4 from %ir.x)' + - '%eax = INC32r killed %eax, implicit-def dead %eflags' + - 'MOV32mr killed %rdi, 1, _, 0, _, %eax :: (volatile store 4 into %ir.x)' + - 'RETQ %eax' +... -- cgit v1.2.3