; RUN: not opt -passes=verify < %s 2>&1 | FileCheck %s @x = global i32 0 @alias = alias void (), ptr @f define void @f() { ret void } ; CHECK: !inline_history should only exist on calls define void @wrong_instr(ptr %x) { load ptr, ptr %x, !inline_history !{ptr @wrong_instr} ret void } ; CHECK: !inline_history operands must be functions or null define void @global_value_operand() { call void @f(), !inline_history !{ptr @x} ret void } ; CHECK: !inline_history operands must be functions or null define void @metadata_operand() { call void @f(), !inline_history !{!0} ret void } ; CHECK: !inline_history operands must be functions or null define void @nullptr_operand() { call void @f(), !inline_history !{ptr null} ret void } ; CHECK-NOT: !inline_history operands must be functions or null define void @empty_metadata() { call void @f(), !inline_history !{} ret void } define void @null_metadata() { call void @f(), !inline_history !{null} ret void } define void @function_metadata() { call void @f(), !inline_history !{ptr @f} ret void } define void @alias_metadata() { call void @f(), !inline_history !{ptr @alias} ret void } define void @mixed_metadata() { call void @f(), !inline_history !{null, ptr @f, null, ptr @mixed_metadata} ret void } !0 = !{}