Compiler projects using llvm
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --scrub-attributes
; RUN: opt -S < %s | FileCheck %s

declare void @foo()

define void @check_lines_1() {
; CHECK-LABEL: define {{[^@]+}}@check_lines_1() {
; CHECK-NEXT:    ret void
;
  ret void
}

; UTC_ARGS: --disable

; A check line that would not be auto generated.
; CHECK: define void @no_check_lines() {
define void @no_check_lines() {
  ret void
}

; UTC_ARGS: --enable

define void @check_lines_2() {
; CHECK-LABEL: define {{[^@]+}}@check_lines_2() {
; CHECK-NEXT:    ret void
;
  ret void
}

define void @scrub() {
; CHECK-LABEL: define {{[^@]+}}@scrub() {
; CHECK-NEXT:    call void @foo()
; CHECK-NEXT:    ret void
;
  call void @foo() readnone
  ret void
}

define i32 @signature(i32 %arg) {
; CHECK-LABEL: define {{[^@]+}}@signature
; CHECK-SAME: (i32 [[ARG:%.*]]) {
; CHECK-NEXT:    ret i32 [[ARG]]
;
  ret i32 %arg
}