As mentioned in http://lists.llvm.org/pipermail/llvm-dev/2020-July/143395.html, loop-unswitch has not been ported to the NPM. Instead people are using simple-loop-unswitch. Pin all tests in Transforms/LoopUnswitch to legacy PM and replace all other uses of loop-unswitch with simple-loop-unswitch. One test that didn't fit into the above was 2014-06-21-congruent-constant.ll which seems to only pass with loop-unswitch. That is also pinned to legacy PM. Now all tests containing "-loop-unswitch" anywhere in the test succeed with NPM turned on by default. Reviewed By: ychen Differential Revision: https://reviews.llvm.org/D85360
27 lines
777 B
LLVM
27 lines
777 B
LLVM
; RUN: opt -S -simple-loop-unswitch -disable-basic-aa -enable-mssa-loop-dependency -verify-memoryssa < %s | FileCheck %s
|
|
; REQUIRES: asserts
|
|
|
|
target triple = "x86_64-unknown-linux-gnu"
|
|
|
|
; CHECK-LABEL: @foo()
|
|
; Function Attrs: readnone speculatable
|
|
declare i32 @foo() #0
|
|
|
|
define void @main() {
|
|
entry:
|
|
br label %for.cond2682
|
|
|
|
for.cond2682: ; preds = %if.then2712, %entry
|
|
%mul2708 = call i32 @foo()
|
|
%tobool2709 = icmp ne i32 %mul2708, 0
|
|
br i1 %tobool2709, label %if.then2712, label %lor.lhs.false2710
|
|
|
|
lor.lhs.false2710: ; preds = %for.cond2682
|
|
unreachable
|
|
|
|
if.then2712: ; preds = %for.cond2682
|
|
br label %for.cond2682
|
|
}
|
|
|
|
attributes #0 = { readnone speculatable }
|