mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 10:42:39 +01:00
[NewPM][LoopUnswitch] Pin loop-unswitch to legacy PM or use simple-loop-unswitch
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
This commit is contained in:
parent
96980a0b56
commit
54c69d097e
@ -1,4 +1,4 @@
|
||||
; RUN: opt -S -licm -loop-unswitch < %s | FileCheck %s
|
||||
; RUN: opt -S -licm -simple-loop-unswitch < %s | FileCheck %s
|
||||
|
||||
; This test checks for a crash. See PR32587.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt < %s -loop-rotate -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -loop-rotate -simple-loop-unswitch -disable-output
|
||||
|
||||
define i32 @stringSearch_Clib(i32 %count) {
|
||||
entry:
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt < %s -loop-rotate -licm -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -loop-rotate -licm -simple-loop-unswitch -disable-output
|
||||
|
||||
define i32 @main(i32 %argc, i8** %argv) {
|
||||
entry:
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt -S -loop-unswitch -disable-basic-aa -enable-mssa-loop-dependency -verify-memoryssa < %s | FileCheck %s
|
||||
; 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"
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt -mtriple=s390x-linux-gnu -mcpu=z13 -enable-mssa-loop-dependency -verify-memoryssa -sroa -globalopt -function-attrs -simplifycfg -licm -loop-unswitch %s -S | FileCheck %s
|
||||
; RUN: opt -mtriple=s390x-linux-gnu -mcpu=z13 -enable-mssa-loop-dependency -verify-memoryssa -sroa -globalopt -function-attrs -simplifycfg -licm -simple-loop-unswitch %s -S | FileCheck %s
|
||||
; REQUIRES: asserts
|
||||
|
||||
target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-v128:64-a:8:16-n32:64"
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt -S -licm -loop-unswitch -enable-mssa-loop-dependency -verify-memoryssa %s | FileCheck %s
|
||||
; RUN: opt -S -licm -simple-loop-unswitch -enable-mssa-loop-dependency -verify-memoryssa %s | FileCheck %s
|
||||
; REQUIRES: asserts
|
||||
target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-v128:64-a:8:16-n32:64"
|
||||
target triple = "s390x-ibm-linux"
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt < %s -loop-unswitch -indvars -disable-output
|
||||
; RUN: opt < %s -simple-loop-unswitch -indvars -disable-output
|
||||
; Require SCEV before LCSSA.
|
||||
define void @foo() {
|
||||
entry:
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt -S -loop-unswitch -instcombine -indvars < %s | FileCheck %s
|
||||
; RUN: opt -S -loop-unswitch -instcombine -indvars -enable-new-pm=0 < %s | FileCheck %s
|
||||
|
||||
; This used to crash in SCEVExpander when there were congruent phis with and
|
||||
; undef incoming value from the loop header. The -loop-unswitch -instcombine is
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt < %s -loop-rotate -licm -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -loop-rotate -licm -simple-loop-unswitch -disable-output
|
||||
define i32 @main(i32 %argc, i8** %argv) {
|
||||
entry:
|
||||
br label %bb7
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt < %s -loop-rotate -licm -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -loop-rotate -licm -simple-loop-unswitch -disable-output
|
||||
|
||||
define i32 @main(i32 %argc, i8** %argv) {
|
||||
entry:
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt < %s -loop-rotate -licm -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -loop-rotate -licm -simple-loop-unswitch -disable-output
|
||||
define i32 @main(i32 %argc, i8** %argv) {
|
||||
entry:
|
||||
br label %bb7
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt < %s -licm -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -licm -simple-loop-unswitch -disable-output
|
||||
%struct.III_scalefac_t = type { [22 x i32], [13 x [3 x i32]] }
|
||||
%struct.gr_info = type { i32, i32, i32, i32, i32, i32, i32, i32, [3 x i32], [3 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32*, [4 x i32] }
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt < %s -loop-rotate -licm -loop-unswitch -disable-output -verify-loop-info -verify-dom-info
|
||||
; RUN: opt < %s -loop-rotate -licm -simple-loop-unswitch -disable-output -verify-loop-info -verify-dom-info
|
||||
|
||||
define i32 @stringSearch_Clib(i32 %count) {
|
||||
entry:
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt -S -licm -loop-unswitch -licm < %s | FileCheck %s
|
||||
; RUN: opt -S -licm -simple-loop-unswitch -licm < %s | FileCheck %s
|
||||
|
||||
declare void @llvm.experimental.guard(i1, ...)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt < %s -inline -instcombine -jump-threading -licm -loop-unswitch -instcombine -indvars -loop-deletion -gvn -simplifycfg -verify -disable-output
|
||||
; RUN: opt < %s -inline -instcombine -jump-threading -licm -simple-loop-unswitch -instcombine -indvars -loop-deletion -gvn -simplifycfg -verify -disable-output
|
||||
|
||||
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
|
||||
target triple = "i386-apple-darwin9"
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
|
||||
%struct.BLEND_MAP = type { i16, i16, i16, i32, %struct.BLEND_MAP_ENTRY* }
|
||||
%struct.BLEND_MAP_ENTRY = type { float, i8, { [5 x float], [4 x i8] } }
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
|
||||
define void @init_caller_save() {
|
||||
entry:
|
||||
|
@ -1,6 +1,6 @@
|
||||
; PR1333
|
||||
; RUN: opt < %s -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
|
||||
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64"
|
||||
target triple = "i686-pc-linux-gnu"
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; PR1333
|
||||
|
||||
define void @pp_cxx_expression() {
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -instcombine -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -instcombine -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -instcombine -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -instcombine -disable-output
|
||||
|
||||
@str3 = external constant [3 x i8] ; <[3 x i8]*> [#uses=1]
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
|
||||
define i32 @main(i32 %argc, i8** %argv) {
|
||||
entry:
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; PR1559
|
||||
|
||||
target triple = "i686-pc-linux-gnu"
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt < %s -licm -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -licm -loop-unswitch -enable-new-pm=0 -disable-output
|
||||
; PR 1589
|
||||
|
||||
%struct.QBasicAtomic = type { i32 }
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -instcombine -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -instcombine -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -instcombine -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -instcombine -disable-output
|
||||
%struct.ClassDef = type { %struct.QByteArray, %struct.QByteArray, %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", i8, i8, %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QMap<QByteArray,QByteArray>", %"struct.QList<ArgumentDef>", %"struct.QMap<QByteArray,QByteArray>", i32, i32 }
|
||||
%struct.FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct.FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i32, i32, [40 x i8] }
|
||||
%struct.Generator = type { %struct.FILE*, %struct.ClassDef*, %"struct.QList<ArgumentDef>", %struct.QByteArray, %"struct.QList<ArgumentDef>" }
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -instcombine -gvn -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -instcombine -gvn -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -instcombine -gvn -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -instcombine -gvn -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; PR2372
|
||||
target triple = "i386-pc-linux-gnu"
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt < %s -licm -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -licm -loop-unswitch -enable-new-pm=0 -disable-output
|
||||
@g_56 = external global i16 ; <i16*> [#uses=2]
|
||||
|
||||
define i32 @func_67(i32 %p_68, i8 signext %p_69, i8 signext %p_71) nounwind {
|
||||
|
@ -1,6 +1,6 @@
|
||||
; REQUIRES: asserts
|
||||
; RUN: opt < %s -loop-unswitch -stats -disable-output 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -stats -disable-output 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -stats -disable-output 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -stats -disable-output 2>&1 | FileCheck %s
|
||||
; PR 3170
|
||||
|
||||
define i32 @a(i32 %x, i32 %y) nounwind {
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa
|
||||
; PR8622
|
||||
@g_38 = external global i32, align 4
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt -loop-unswitch -disable-output < %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -disable-output < %s
|
||||
; PR10031
|
||||
|
||||
define i32 @test(i32 %command) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -sroa -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -sroa -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; RUN: opt < %s -sroa -loop-unswitch -enable-new-pm=0 -disable-output
|
||||
; RUN: opt < %s -sroa -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; PR11016
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
||||
target triple = "x86_64-apple-macosx10.7.2"
|
||||
|
@ -1,7 +1,7 @@
|
||||
; REQUIRES: asserts
|
||||
; RUN: opt -loop-unswitch -disable-output -stats -info-output-file - < %s | FileCheck --check-prefix=STATS %s
|
||||
; RUN: opt -S -loop-unswitch -verify-loop-info -verify-dom-info < %s | FileCheck %s
|
||||
; RUN: opt -S -loop-unswitch -verify-loop-info -verify-dom-info -enable-mssa-loop-dependency=true -verify-memoryssa < %s | FileCheck %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -disable-output -stats -info-output-file - < %s | FileCheck --check-prefix=STATS %s
|
||||
; RUN: opt -S -loop-unswitch -enable-new-pm=0 -verify-loop-info -verify-dom-info < %s | FileCheck %s
|
||||
; RUN: opt -S -loop-unswitch -enable-new-pm=0 -verify-loop-info -verify-dom-info -enable-mssa-loop-dependency=true -verify-memoryssa < %s | FileCheck %s
|
||||
|
||||
; STATS: 2 loop-unswitch - Number of switches unswitched
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; REQUIRES: asserts
|
||||
; RUN: opt -loop-unswitch -loop-unswitch-threshold 13 -disable-output -stats -info-output-file - < %s | FileCheck --check-prefix=STATS %s
|
||||
; RUN: opt -S -loop-unswitch -loop-unswitch-threshold 13 -verify-loop-info -verify-dom-info < %s | FileCheck %s
|
||||
; RUN: opt -S -loop-unswitch -loop-unswitch-threshold 13 -verify-loop-info -verify-dom-info -enable-mssa-loop-dependency=true -verify-memoryssa < %s | FileCheck %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -loop-unswitch-threshold 13 -disable-output -stats -info-output-file - < %s | FileCheck --check-prefix=STATS %s
|
||||
; RUN: opt -S -loop-unswitch -enable-new-pm=0 -loop-unswitch-threshold 13 -verify-loop-info -verify-dom-info < %s | FileCheck %s
|
||||
; RUN: opt -S -loop-unswitch -enable-new-pm=0 -loop-unswitch-threshold 13 -verify-loop-info -verify-dom-info -enable-mssa-loop-dependency=true -verify-memoryssa < %s | FileCheck %s
|
||||
|
||||
; STATS: 1 loop-unswitch - Number of switches unswitched
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; REQUIRES: asserts
|
||||
; RUN: opt -loop-unswitch -loop-unswitch-threshold 1000 -disable-output -stats -info-output-file - < %s | FileCheck --check-prefix=STATS %s
|
||||
; RUN: opt -S -loop-unswitch -loop-unswitch-threshold 1000 -verify-loop-info -verify-dom-info < %s | FileCheck %s
|
||||
; RUN: opt -S -loop-unswitch -loop-unswitch-threshold 1000 -verify-loop-info -verify-dom-info -enable-mssa-loop-dependency=true -verify-memoryssa < %s | FileCheck %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -loop-unswitch-threshold 1000 -disable-output -stats -info-output-file - < %s | FileCheck --check-prefix=STATS %s
|
||||
; RUN: opt -S -loop-unswitch -enable-new-pm=0 -loop-unswitch-threshold 1000 -verify-loop-info -verify-dom-info < %s | FileCheck %s
|
||||
; RUN: opt -S -loop-unswitch -enable-new-pm=0 -loop-unswitch-threshold 1000 -verify-loop-info -verify-dom-info -enable-mssa-loop-dependency=true -verify-memoryssa < %s | FileCheck %s
|
||||
|
||||
; STATS: 3 loop-unswitch - Number of switches unswitched
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
; RUN: opt < %s -S -loop-unswitch -verify-loop-info -verify-dom-info | FileCheck %s
|
||||
; RUN: opt < %s -S -loop-unswitch -verify-loop-info -verify-dom-info -enable-mssa-loop-dependency=true -verify-memoryssa | FileCheck %s
|
||||
; PR12343: -loop-unswitch crash on indirect branch
|
||||
; RUN: opt < %s -S -loop-unswitch -enable-new-pm=0 -verify-loop-info -verify-dom-info | FileCheck %s
|
||||
; RUN: opt < %s -S -loop-unswitch -enable-new-pm=0 -verify-loop-info -verify-dom-info -enable-mssa-loop-dependency=true -verify-memoryssa | FileCheck %s
|
||||
; PR12343: -loop-unswitch -enable-new-pm=0 crash on indirect branch
|
||||
|
||||
; CHECK: %0 = icmp eq i64 undef, 0
|
||||
; CHECK-NEXT: br i1 %0, label %"5", label %"4"
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt < %s -basic-aa -instcombine -inline -function-attrs -licm -loop-unswitch -gvn -verify
|
||||
; RUN: opt < %s -basic-aa -instcombine -inline -function-attrs -licm -loop-unswitch -enable-new-pm=0 -gvn -verify
|
||||
; PR12573
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.7.0"
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; PR12887
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-unknown-linux-gnu"
|
||||
|
@ -1,4 +1,4 @@
|
||||
;RUN: opt -loop-unswitch -simplifycfg -S < %s | FileCheck %s
|
||||
;RUN: opt -loop-unswitch -enable-new-pm=0 -simplifycfg -S < %s | FileCheck %s
|
||||
|
||||
define i32 @foo(i32 %a, i32 %b) {
|
||||
;CHECK-LABEL: foo
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -S | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -S | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -S | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -S | FileCheck %s
|
||||
|
||||
; In cases where two address spaces do not have the same size pointer, the
|
||||
; input for the addrspacecast should not be used as a substitute for itself
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -loop-unswitch-threshold=0 -S 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -loop-unswitch-threshold=0 -enable-mssa-loop-dependency=true -verify-memoryssa -S 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -loop-unswitch-threshold=0 -S 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -loop-unswitch-threshold=0 -enable-mssa-loop-dependency=true -verify-memoryssa -S 2>&1 | FileCheck %s
|
||||
|
||||
; This is to test trivial loop unswitch only happens when trivial condition
|
||||
; itself is an LIV loop condition (not partial LIV which could occur in and/or).
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -verify-loop-info -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -verify-loop-info -enable-mssa-loop-dependency=true -verify-memoryssa -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -verify-loop-info -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -verify-loop-info -enable-mssa-loop-dependency=true -verify-memoryssa -S < %s 2>&1 | FileCheck %s
|
||||
|
||||
define i32 @test(i32* %A, i1 %C) {
|
||||
entry:
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt -loop-unswitch %s -S | FileCheck %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 %s -S | FileCheck %s
|
||||
|
||||
; We want to check that the loop does not get split (so only 2 callbr's not 4).
|
||||
; It's ok to modify this test in the future should we allow the loop containing
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt -S -loop-unswitch < %s | FileCheck %s
|
||||
; RUN: opt -S -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa < %s | FileCheck %s
|
||||
; RUN: opt -S -loop-unswitch -enable-new-pm=0 < %s | FileCheck %s
|
||||
; RUN: opt -S -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa < %s | FileCheck %s
|
||||
target triple = "x86_64-pc-win32"
|
||||
|
||||
define void @f(i32 %doit, i1 %x, i1 %y) personality i32 (...)* @__CxxFrameHandler3 {
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -S < %s 2>&1 | FileCheck %s
|
||||
|
||||
; This test checks if unswitched condition preserve make.implicit metadata.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -disable-output
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output
|
||||
|
||||
define void @test1(i32* %S2) {
|
||||
entry:
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt -loop-unswitch -S - < %s | FileCheck %s
|
||||
; RUN: opt -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -S - < %s | FileCheck %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -S - < %s | FileCheck %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -S - < %s | FileCheck %s
|
||||
|
||||
;CHECK-LABEL: @b
|
||||
;CHECK: [[Loop1:for\.end.*]]: ; preds = %for.cond.us
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt -loop-unswitch -S < %s | FileCheck %s
|
||||
; RUN: opt -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -S < %s | FileCheck %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -S < %s | FileCheck %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -S < %s | FileCheck %s
|
||||
|
||||
define void @f(i32 %n, i32* %ptr) {
|
||||
; CHECK-LABEL: @f(
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt -S -loop-unswitch < %s | FileCheck %s
|
||||
; RUN: opt -S -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa < %s | FileCheck %s
|
||||
; RUN: opt -S -loop-unswitch -enable-new-pm=0 < %s | FileCheck %s
|
||||
; RUN: opt -S -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa < %s | FileCheck %s
|
||||
|
||||
declare void @llvm.experimental.guard(i1, ...)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; REQUIRES: asserts
|
||||
; RUN: opt -loop-unswitch -disable-output -stats -info-output-file - < %s | FileCheck --check-prefix=STATS %s
|
||||
; RUN: opt -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output -stats -info-output-file - < %s | FileCheck --check-prefix=STATS %s
|
||||
; RUN: opt -loop-unswitch -simplifycfg -S < %s | FileCheck %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -disable-output -stats -info-output-file - < %s | FileCheck --check-prefix=STATS %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output -stats -info-output-file - < %s | FileCheck --check-prefix=STATS %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -simplifycfg -S < %s | FileCheck %s
|
||||
; PR5373
|
||||
|
||||
; Loop unswitching shouldn't trivially unswitch the true case of condition %a
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt -S -indvars -loop-unswitch < %s | FileCheck %s
|
||||
; RUN: opt -S -indvars -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa < %s | FileCheck %s
|
||||
; RUN: opt -S -indvars -loop-unswitch -enable-new-pm=0 < %s | FileCheck %s
|
||||
; RUN: opt -S -indvars -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa < %s | FileCheck %s
|
||||
|
||||
target triple = "x86_64-unknown-linux-gnu"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -verify-loop-info -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -verify-loop-info -enable-mssa-loop-dependency=true -verify-memoryssa -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -verify-loop-info -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -verify-loop-info -enable-mssa-loop-dependency=true -verify-memoryssa -S < %s 2>&1 | FileCheck %s
|
||||
|
||||
@sink = global i32 0, align 4
|
||||
@y = global i64 0, align 8
|
||||
|
@ -1,7 +1,7 @@
|
||||
; Check that the call doesn't get removed even if
|
||||
; it has no uses. It could have side-effects.
|
||||
; RUN: opt -loop-unswitch -S %s | FileCheck %s
|
||||
; RUN: opt -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -S %s | FileCheck %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -S %s | FileCheck %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -S %s | FileCheck %s
|
||||
|
||||
; CHECK-LABEL: @tinky
|
||||
define i32 @tinkywinky(i8 %patatino) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt -loop-unswitch -verify-loop-info -verify-dom-info -disable-output < %s
|
||||
; RUN: opt -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -verify-loop-info -verify-dom-info -disable-output < %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -verify-loop-info -verify-dom-info -disable-output < %s
|
||||
; RUN: opt -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -verify-loop-info -verify-dom-info -disable-output < %s
|
||||
|
||||
; Loop unswitch should be able to unswitch these loops and
|
||||
; preserve LCSSA and LoopSimplify forms.
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -verify-loop-info -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -verify-loop-info -enable-mssa-loop-dependency=true -verify-memoryssa -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -verify-loop-info -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -verify-loop-info -enable-mssa-loop-dependency=true -verify-memoryssa -S < %s 2>&1 | FileCheck %s
|
||||
|
||||
; There are 1 case and 1 default case in the switch. after we unswitch, we know the
|
||||
; %a is definitely not 0 in one of the unswitched loop, make sure we take advantage
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: opt < %s -loop-unswitch -loop-unswitch-threshold=0 -verify-loop-info -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -loop-unswitch-threshold=0 -verify-loop-info -enable-mssa-loop-dependency=true -verify-memoryssa -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -loop-unswitch-threshold=0 -verify-loop-info -S < %s 2>&1 | FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -loop-unswitch-threshold=0 -verify-loop-info -enable-mssa-loop-dependency=true -verify-memoryssa -S < %s 2>&1 | FileCheck %s
|
||||
|
||||
; This test contains two trivial unswitch condition in one loop.
|
||||
; LoopUnswitch pass should be able to unswitch the second one
|
||||
|
@ -1,5 +1,5 @@
|
||||
; REQUIRES: asserts
|
||||
; RUN: opt < %s -instcombine -licm -loop-unswitch -loop-unswitch-threshold=1000 -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output -stats 2>&1| FileCheck %s
|
||||
; RUN: opt < %s -instcombine -licm -loop-unswitch -enable-new-pm=0 -loop-unswitch-threshold=1000 -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output -stats 2>&1| FileCheck %s
|
||||
; Check no loop unswitch is done because unswitching of equality expr with
|
||||
; undef is unsafe before the freeze patch is committed.
|
||||
; CHECK-NOT: Number of branches unswitched
|
||||
|
@ -1,6 +1,6 @@
|
||||
; REQUIRES: asserts
|
||||
; RUN: opt < %s -loop-unswitch -disable-output -stats 2>&1| FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output -stats 2>&1| FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -disable-output -stats 2>&1| FileCheck %s
|
||||
; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -disable-output -stats 2>&1| FileCheck %s
|
||||
|
||||
; Check the select statement in the loop will be unswitched.
|
||||
; CHECK: 1 loop-unswitch - Number of selects unswitched
|
||||
|
Loading…
Reference in New Issue
Block a user