Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/Transforms/LoopDeletion/invalidation.ll
; Ensure we don't run analyses over loops after they've been deleted. We run | ; Ensure we don't run analyses over loops after they've been deleted. We run | ||||
; one version with a no-op loop pass to make sure that the loop doesn't get | ; one version with a no-op loop pass to make sure that the loop doesn't get | ||||
; simplified away. | ; simplified away. | ||||
; | ; | ||||
; RUN: opt < %s -passes='require<iv-users>,no-op-loop,require<iv-users>' -S \ | ; RUN: opt < %s -passes='require<iv-users>,no-op-loop,require<iv-users>' -S \ | ||||
; RUN: | FileCheck %s --check-prefixes=CHECK,BEFORE | ; RUN: | FileCheck %s --check-prefixes=CHECK,BEFORE | ||||
; RUN: opt < %s -passes='require<iv-users>,loop-deletion,require<iv-users>' -S \ | ; RUN: opt < %s -passes='require<iv-users>,loop-deletion,require<iv-users>' -S \ | ||||
; RUN: | FileCheck %s --check-prefixes=CHECK,AFTER | ; RUN: | FileCheck %s --check-prefixes=CHECK,AFTER | ||||
define void @foo(i64 %n, i64 %m) nounwind { | define void @foo(i64 %n, i64 %m) nounwind willreturn { | ||||
; CHECK-LABEL: @foo( | ; CHECK-LABEL: @foo( | ||||
entry: | entry: | ||||
br label %bb | br label %bb | ||||
; CHECK: entry: | ; CHECK: entry: | ||||
; BEFORE-NEXT: br label %bb | ; BEFORE-NEXT: br label %bb | ||||
; AFTER-NEXT: br label %return | ; AFTER-NEXT: br label %return | ||||
Show All 23 Lines |