
This is part of effort in removing -enable-new-pm flag. As a prat of this effort one of example passes SimplifyCFG must be ported to new PM which will allow to remove the flag calls from the tests that are using this pass. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D137103
41 lines
1.5 KiB
LLVM
41 lines
1.5 KiB
LLVM
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
|
; RUN: opt %loadexampleirtransforms -passes=tut-simplifycfg -tut-simplifycfg-version=v1 < %s -S -verify-dom-info | FileCheck %s
|
|
; RUN: opt %loadexampleirtransforms -passes=tut-simplifycfg -tut-simplifycfg-version=v2 < %s -S -verify-dom-info | FileCheck %s
|
|
; RUN: opt %loadexampleirtransforms -passes=tut-simplifycfg -tut-simplifycfg-version=v3 < %s -S -verify-dom-info | FileCheck %s
|
|
|
|
; Check that we do not crash when we remove edges multiple times in
|
|
; the DomTreeUpdater.
|
|
define void @test() {
|
|
; CHECK-LABEL: @test(
|
|
; CHECK-NEXT: entry:
|
|
; CHECK-NEXT: switch i8 undef, label [[IF_THEN_EPIL:%.*]] [
|
|
; CHECK-NEXT: i8 32, label [[FOR_INC_EPIL:%.*]]
|
|
; CHECK-NEXT: i8 46, label [[FOR_INC_EPIL]]
|
|
; CHECK-NEXT: i8 95, label [[FOR_INC_EPIL]]
|
|
; CHECK-NEXT: i8 45, label [[FOR_INC_EPIL]]
|
|
; CHECK-NEXT: i8 126, label [[FOR_INC_EPIL]]
|
|
; CHECK-NEXT: ]
|
|
; CHECK: if.then.epil:
|
|
; CHECK-NEXT: unreachable
|
|
; CHECK: for.inc.epil:
|
|
; CHECK-NEXT: ret void
|
|
;
|
|
entry:
|
|
br label %for.body.epil
|
|
|
|
for.body.epil: ; preds = %entry
|
|
switch i8 undef, label %if.then.epil [
|
|
i8 32, label %for.inc.epil
|
|
i8 46, label %for.inc.epil
|
|
i8 95, label %for.inc.epil
|
|
i8 45, label %for.inc.epil
|
|
i8 126, label %for.inc.epil
|
|
]
|
|
|
|
if.then.epil: ; preds = %for.body.epil
|
|
unreachable
|
|
|
|
for.inc.epil: ; preds = %for.body.epil, %for.body.epil, %for.body.epil, %for.body.epil, %for.body.epil
|
|
ret void
|
|
}
|