llvm/test/Assembler/metadata-function-local.ll
Duncan P. N. Exon Smith f548941ee0 Assembler: Rewrite test for function-local metadata
This test for function-local metadata did strange things, and never
really sent in valid arguments for `llvm.dbg.declare` and
`llvm.dbg.value` intrinsics.  Those that might have once been valid have
bitrotted.

Rewrite it to be a targeted test for function-local metadata --
unrelated to debug info, which is tested elsewhere -- and rename it to
better match other metadata-related tests.

(Note: the scope of function-local metadata changed drastically during
the metadata/value split, but I didn't properly clean up this testcase.
Most of the IR in this file, while invalid for debug info intrinsics,
used to provide coverage for various (now illegal) forms of
function-local metadata.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232290 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-15 00:45:51 +00:00

21 lines
602 B
LLVM

; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
; RUN: verify-uselistorder %s
declare void @llvm.metadata(metadata)
define void @foo(i32 %arg) {
entry:
%before = alloca i32
call void @llvm.metadata(metadata i32 %arg)
call void @llvm.metadata(metadata i32* %after)
call void @llvm.metadata(metadata i32* %before)
%after = alloca i32
ret void
; CHECK: %before = alloca i32
; CHECK: call void @llvm.metadata(metadata i32 %arg)
; CHECK: call void @llvm.metadata(metadata i32* %after)
; CHECK: call void @llvm.metadata(metadata i32* %before)
; CHECK: %after = alloca i32
}