| ; llvm-reduce shouldn't remove arguments of debug intrinsics, because the resulting module will be ill-formed. |
| ; |
| ; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=arguments --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s --output %t |
| ; RUN: FileCheck --check-prefix=CHECK-FINAL %s < %t |
| |
| ; CHECK-INTERESTINGNESS: declare void @llvm.dbg.addr |
| ; CHECK-FINAL: declare void @llvm.dbg.addr(metadata, metadata, metadata) |
| declare void @llvm.dbg.addr(metadata, metadata, metadata) |
| ; CHECK-INTERESTINGNESS: declare void @llvm.dbg.declare |
| ; CHECK-FINAL: declare void @llvm.dbg.declare(metadata, metadata, metadata) |
| declare void @llvm.dbg.declare(metadata, metadata, metadata) |
| ; CHECK-INTERESTINGNESS: declare void @llvm.dbg.value |
| ; CHECK-FINAL: declare void @llvm.dbg.value(metadata, metadata, metadata) |
| declare void @llvm.dbg.value(metadata, metadata, metadata) |