Similar to 806761a7629df268c8aed49657aeccffa6bca449 -mtriple= specifies the full target triple while -march= merely sets the architecture part of the default target triple (e.g. Windows, macOS). Therefore, -march= is error-prone and not recommended for tests without a target triple. The issue has been benign as these MIR tests do not utilize object file format specific detail, but it's good to change these tests to neighbor files that use -mtriple=x86_64
29 lines
710 B
YAML
29 lines
710 B
YAML
# RUN: not llc -mtriple=x86_64 -run-pass none -o /dev/null %s 2>&1 | FileCheck %s
|
|
# This test ensures that the MIR parser reports an error when it encounters a
|
|
# stack object with a name that can't be associated with an alloca instruction.
|
|
|
|
--- |
|
|
|
|
define i32 @test(i32 %a) {
|
|
entry:
|
|
%b = alloca i32
|
|
store i32 %a, ptr %b
|
|
%c = load i32, ptr %b
|
|
ret i32 %c
|
|
}
|
|
|
|
...
|
|
---
|
|
name: test
|
|
frameInfo:
|
|
maxAlignment: 4
|
|
stack:
|
|
# CHECK: [[@LINE+1]]:20: alloca instruction named 'x' isn't defined in the function 'test'
|
|
- { id: 0, name: x, offset: -12, size: 4, alignment: 4 }
|
|
body: |
|
|
bb.0.entry:
|
|
MOV32mr $rsp, 1, _, -4, _, $edi
|
|
$eax = MOV32rm $rsp, 1, _, -4, _
|
|
RET64 $eax
|
|
...
|