-debug-pass is a legacy PM only option. Some tests checks that the pass returned that it made a change, which is not relevant to the NPM, since passes return PreservedAnalyses. Some tests check that passes are freed at the proper time, which is also not relevant to the NPM. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D87945
29 lines
900 B
LLVM
Executable File
29 lines
900 B
LLVM
Executable File
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
|
; RUN: opt < %s -instsimplify -S -o /dev/null -debug-pass=Details -enable-new-pm=0 2>&1 | FileCheck --check-prefix DETAILS %s
|
|
; RUN: opt < %s -instsimplify -S -o - | FileCheck %s
|
|
|
|
; Verify that InstSimplifyLegacyPass notifies the pass manager about changes
|
|
; being made (when a call is removed CGSCC must be updated).
|
|
;
|
|
; DETAILS: Made Modification 'Remove redundant instructions' on Function 'main'
|
|
|
|
define internal void @func_1(i64* nocapture readnone %0) #0 {
|
|
; CHECK-LABEL: @func_1(
|
|
; CHECK-NEXT: unreachable
|
|
;
|
|
unreachable
|
|
}
|
|
|
|
define i16 @main(i16 %0, i16** nocapture readnone %1) #1 {
|
|
; CHECK-LABEL: @main(
|
|
; CHECK-NEXT: bb1:
|
|
; CHECK-NEXT: unreachable
|
|
;
|
|
bb1:
|
|
call void @func_1(i64* undef)
|
|
unreachable
|
|
}
|
|
|
|
attributes #0 = { noinline norecurse nounwind readnone }
|
|
attributes #1 = { norecurse nounwind readnone }
|