| ; 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: ret void |
| ; |
| ret void |
| } |
| |
| 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 willreturn } |
| attributes #1 = { norecurse nounwind readnone } |