forked from OSchip/llvm-project
[test] Switch to use -passes syntax in a bunch of test cases
Should cover most of the tests for GVN, GVNHoist, GVNSink, GlobalOpt, GlobalSplit, InstCombine, Reassociate, SROA and TailCallElim that had not been updated earlier.
This commit is contained in:
parent
543962f024
commit
0676acb6fd
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn | llvm-dis
|
; RUN: opt < %s -passes=gvn | llvm-dis
|
||||||
|
|
||||||
%struct.PerlInterpreter = type { i8 }
|
%struct.PerlInterpreter = type { i8 }
|
||||||
@PL_sv_count = external global i32 ; <i32*> [#uses=2]
|
@PL_sv_count = external global i32 ; <i32*> [#uses=2]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
%struct.INT2 = type { i32, i32 }
|
%struct.INT2 = type { i32, i32 }
|
||||||
@blkshifts = external global %struct.INT2* ; <%struct.INT2**> [#uses=2]
|
@blkshifts = external global %struct.INT2* ; <%struct.INT2**> [#uses=2]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn | llvm-dis
|
; RUN: opt < %s -passes=gvn | llvm-dis
|
||||||
|
|
||||||
%struct.s_segment_inf = type { float, i32, i16, i16, float, float, i32, float, float }
|
%struct.s_segment_inf = type { float, i32, i16, i16, float, float, i32, float, float }
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn | llvm-dis
|
; RUN: opt < %s -passes=gvn | llvm-dis
|
||||||
|
|
||||||
%struct.TypHeader = type { i32, %struct.TypHeader**, [3 x i8], i8 }
|
%struct.TypHeader = type { i32, %struct.TypHeader**, [3 x i8], i8 }
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn | llvm-dis
|
; RUN: opt < %s -passes=gvn | llvm-dis
|
||||||
|
|
||||||
%struct.ggBRDF = type { i32 (...)** }
|
%struct.ggBRDF = type { i32 (...)** }
|
||||||
%struct.ggBox3 = type { %struct.ggPoint3, %struct.ggPoint3 }
|
%struct.ggBox3 = type { %struct.ggPoint3, %struct.ggPoint3 }
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
@last = external global [65 x i32*]
|
@last = external global [65 x i32*]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn | llvm-dis
|
; RUN: opt < %s -passes=gvn | llvm-dis
|
||||||
|
|
||||||
@bsLive = external global i32 ; <i32*> [#uses=2]
|
@bsLive = external global i32 ; <i32*> [#uses=2]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
%struct..0anon = type { i32 }
|
%struct..0anon = type { i32 }
|
||||||
%struct.FILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, %struct.__sFILEX*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
|
%struct.FILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, %struct.__sFILEX*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn | llvm-dis
|
; RUN: opt < %s -passes=gvn | llvm-dis
|
||||||
|
|
||||||
%"struct.Block::$_16" = type { i32 }
|
%"struct.Block::$_16" = type { i32 }
|
||||||
%struct.Exp = type { %struct.Exp_*, i32, i32, i32, %struct.Exp*, %struct.Exp*, %"struct.Exp::$_10", %"struct.Block::$_16", %"struct.Exp::$_12" }
|
%struct.Exp = type { %struct.Exp_*, i32, i32, i32, %struct.Exp*, %struct.Exp*, %"struct.Exp::$_10", %"struct.Block::$_16", %"struct.Exp::$_12" }
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
%struct.anon = type { i32 (i32, i32, i32)*, i32, i32, [3 x i32], i8*, i8*, i8* }
|
%struct.anon = type { i32 (i32, i32, i32)*, i32, i32, [3 x i32], i8*, i8*, i8* }
|
||||||
@debug = external constant i32 ; <i32*> [#uses=0]
|
@debug = external constant i32 ; <i32*> [#uses=0]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
@img_width = external global i16 ; <i16*> [#uses=2]
|
@img_width = external global i16 ; <i16*> [#uses=2]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
; PR1996
|
; PR1996
|
||||||
|
|
||||||
%struct.anon = type { i32, i8, i8, i8, i8 }
|
%struct.anon = type { i32, i8, i8, i8, i8 }
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
; PR2503
|
; PR2503
|
||||||
|
|
||||||
@g_3 = external global i8 ; <i8*> [#uses=2]
|
@g_3 = external global i8 ; <i8*> [#uses=2]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
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 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.5"
|
target triple = "i386-apple-darwin9.5"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn | llvm-dis
|
; RUN: opt < %s -passes=gvn | llvm-dis
|
||||||
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 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-darwin7"
|
target triple = "i386-apple-darwin7"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn | llvm-dis
|
; RUN: opt < %s -passes=gvn | llvm-dis
|
||||||
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 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-darwin7"
|
target triple = "i386-apple-darwin7"
|
||||||
@sort_value = external global [256 x i32], align 32 ; <[256 x i32]*> [#uses=2]
|
@sort_value = external global [256 x i32], align 32 ; <[256 x i32]*> [#uses=2]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn | llvm-dis
|
; RUN: opt < %s -passes=gvn | llvm-dis
|
||||||
; Cached results must be added to and verified against the visited sets.
|
; Cached results must be added to and verified against the visited sets.
|
||||||
; PR3217
|
; PR3217
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn | llvm-dis
|
; RUN: opt < %s -passes=gvn | llvm-dis
|
||||||
; PR3358
|
; PR3358
|
||||||
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"
|
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"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn | llvm-dis
|
; RUN: opt < %s -passes=gvn | llvm-dis
|
||||||
|
|
||||||
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 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-darwin7"
|
target triple = "i386-apple-darwin7"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn | llvm-dis
|
; RUN: opt < %s -passes=gvn | llvm-dis
|
||||||
; PR4256
|
; PR4256
|
||||||
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:32:32"
|
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:32:32"
|
||||||
target triple = "i386-pc-linux-gnu"
|
target triple = "i386-pc-linux-gnu"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
; Test to make sure malloc's bitcast does not block detection of a store
|
; Test to make sure malloc's bitcast does not block detection of a store
|
||||||
; to aliased memory; GVN should not optimize away the load in this program.
|
; to aliased memory; GVN should not optimize away the load in this program.
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
define i64 @test() {
|
define i64 @test() {
|
||||||
%1 = tail call i8* @malloc(i64 mul (i64 4, i64 ptrtoint (i64* getelementptr (i64, i64* null, i64 1) to i64))) ; <i8*> [#uses=2]
|
%1 = tail call i8* @malloc(i64 mul (i64 4, i64 ptrtoint (i64* getelementptr (i64, i64* null, i64 1) to i64))) ; <i8*> [#uses=2]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
; CHECK-NOT: load
|
; CHECK-NOT: load
|
||||||
; CHECK-NOT: phi
|
; CHECK-NOT: phi
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
declare i32 @foo(i32) readnone
|
declare i32 @foo(i32) readnone
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
;
|
;
|
||||||
|
|
||||||
%0 = type { i64, i1 }
|
%0 = type { i64, i1 }
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
%struct.__fundamental_type_info_pseudo = type { %struct.__type_info_pseudo }
|
%struct.__fundamental_type_info_pseudo = type { %struct.__type_info_pseudo }
|
||||||
%struct.__type_info_pseudo = type { i8*, i8* }
|
%struct.__type_info_pseudo = type { i8*, i8* }
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
declare void @llvm.masked.scatter.v2i32.v2p0i32(<2 x i32> , <2 x i32*> , i32 , <2 x i1> )
|
declare void @llvm.masked.scatter.v2i32.v2p0i32(<2 x i32> , <2 x i32*> , i32 , <2 x i1> )
|
||||||
declare <2 x i32> @llvm.masked.gather.v2i32.v2p0i32(<2 x i32*>, i32, <2 x i1>, <2 x i32>)
|
declare <2 x i32> @llvm.masked.gather.v2i32.v2p0i32(<2 x i32*>, i32, <2 x i1>, <2 x i32>)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
declare void @llvm.masked.scatter.v2i32.v2p0i32(<2 x i32> , <2 x i32*> , i32 , <2 x i1> )
|
declare void @llvm.masked.scatter.v2i32.v2p0i32(<2 x i32> , <2 x i32*> , i32 , <2 x i1> )
|
||||||
declare <2 x i32> @llvm.masked.gather.v2i32.v2p0i32(<2 x i32*>, i32, <2 x i1>, <2 x i32>)
|
declare <2 x i32> @llvm.masked.gather.v2i32.v2p0i32(<2 x i32*>, i32, <2 x i1>, <2 x i32>)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
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 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.0"
|
target triple = "x86_64-apple-macosx10.7.0"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; This test checks if debug loc is propagated to load/store created by GVN/Instcombine.
|
; This test checks if debug loc is propagated to load/store created by GVN/Instcombine.
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s --check-prefixes=ALL,GVN
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s --check-prefixes=ALL,GVN
|
||||||
; RUN: opt < %s -gvn -instcombine -S | FileCheck %s --check-prefixes=ALL,INSTCOMBINE
|
; RUN: opt < %s -gvn -instcombine -S | FileCheck %s --check-prefixes=ALL,INSTCOMBINE
|
||||||
|
|
||||||
; struct node {
|
; struct node {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; This test checks if debug loc is propagated to load/store created by GVN/Instcombine.
|
; This test checks if debug loc is propagated to load/store created by GVN/Instcombine.
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s --check-prefixes=ALL
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s --check-prefixes=ALL
|
||||||
; RUN: opt < %s -gvn -instcombine -S | FileCheck %s --check-prefixes=ALL
|
; RUN: opt < %s -gvn -instcombine -S | FileCheck %s --check-prefixes=ALL
|
||||||
|
|
||||||
; struct node {
|
; struct node {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
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 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.0"
|
target triple = "x86_64-apple-macosx10.7.0"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; Test if the !invariant.load metadata is maintained by GVN.
|
; Test if the !invariant.load metadata is maintained by GVN.
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
define i32 @test1(i32* nocapture %p, i8* nocapture %q) {
|
define i32 @test1(i32* nocapture %p, i8* nocapture %q) {
|
||||||
; CHECK-LABEL: test1
|
; CHECK-LABEL: test1
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
; Check that PRE-LOAD across backedge does not
|
; Check that PRE-LOAD across backedge does not
|
||||||
; result in invalid dominator tree.
|
; result in invalid dominator tree.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
; RUN: opt < %s -passes="gvn<load-pre>" -S | FileCheck %s
|
; RUN: opt < %s -passes="gvn<load-pre>" -S | FileCheck %s
|
||||||
|
|
||||||
target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:64:64-v128:128:128-a0:0:32-n32"
|
target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:64:64-v128:128:128-a0:0:32-n32"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:4"
|
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:4"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
||||||
|
|
||||||
@a = common global [100 x i64] zeroinitializer, align 16
|
@a = common global [100 x i64] zeroinitializer, align 16
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
target datalayout = "e-p:64:64:64"
|
target datalayout = "e-p:64:64:64"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
; This testcase tests insertion of no-cost phis. That is,
|
; This testcase tests insertion of no-cost phis. That is,
|
||||||
; when the value is already available in every predecessor,
|
; when the value is already available in every predecessor,
|
||||||
; and we just need to insert a phi node to merge the available values.
|
; and we just need to insert a phi node to merge the available values.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
target datalayout = "e-p:64:64:64"
|
target datalayout = "e-p:64:64:64"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
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 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-darwin7"
|
target triple = "i386-apple-darwin7"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
define i32 @main(i32* %p, i32 %x, i32 %y) {
|
define i32 @main(i32* %p, i32 %x, i32 %y) {
|
||||||
block1:
|
block1:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
define i32 addrspace(1)* @addrspacecast(i32* %ptr) {
|
define i32 addrspace(1)* @addrspacecast(i32* %ptr) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
%struct.A = type { i32 (...)** }
|
%struct.A = type { i32 (...)** }
|
||||||
@_ZTV1A = available_externally unnamed_addr constant [4 x i8*] [i8* null, i8* bitcast (i8** @_ZTI1A to i8*), i8* bitcast (i32 (%struct.A*)* @_ZN1A3fooEv to i8*), i8* bitcast (i32 (%struct.A*)* @_ZN1A3barEv to i8*)], align 8
|
@_ZTV1A = available_externally unnamed_addr constant [4 x i8*] [i8* null, i8* bitcast (i8** @_ZTI1A to i8*), i8* bitcast (i32 (%struct.A*)* @_ZN1A3fooEv to i8*), i8* bitcast (i32 (%struct.A*)* @_ZN1A3barEv to i8*)], align 8
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
declare void @llvm.assume(i1)
|
declare void @llvm.assume(i1)
|
||||||
declare void @use(i1)
|
declare void @use(i1)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
; ModuleID = 'test3.ll'
|
; ModuleID = 'test3.ll'
|
||||||
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
|
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
define i32 @main() {
|
define i32 @main() {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
target datalayout = "E-m:e-i64:64-n32:64"
|
target datalayout = "E-m:e-i64:64-n32:64"
|
||||||
target triple = "powerpc64-unknown-linux-gnu"
|
target triple = "powerpc64-unknown-linux-gnu"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
; PR2213
|
; PR2213
|
||||||
|
|
||||||
define i32* @f(i8* %x) {
|
define i32* @f(i8* %x) {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
; This test checks that we don't hang trying to split a critical edge in loadpre
|
; This test checks that we don't hang trying to split a critical edge in loadpre
|
||||||
; when the control flow uses a callbr instruction.
|
; when the control flow uses a callbr instruction.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
; This test checks that we don't hang trying to split a critical edge in scalar
|
; This test checks that we don't hang trying to split a critical edge in scalar
|
||||||
; PRE when the control flow uses a callbr instruction.
|
; PRE when the control flow uses a callbr instruction.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; Two occurrences of strlen should be zapped.
|
; Two occurrences of strlen should be zapped.
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
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 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"
|
target triple = "i386-apple-darwin9"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
; Should delete the second call to strlen even though the intervening strchr call exists.
|
; Should delete the second call to strlen even though the intervening strchr call exists.
|
||||||
|
|
||||||
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 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"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
declare void @use(i32, i32)
|
declare void @use(i32, i32)
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
@y = external global i32
|
@y = external global i32
|
||||||
@z = external global i32
|
@z = external global i32
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
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 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"
|
||||||
|
|
||||||
%"class.llvm::SmallVector" = type { %"class.llvm::SmallVectorImpl", [1 x %"union.llvm::SmallVectorBase::U"] }
|
%"class.llvm::SmallVector" = type { %"class.llvm::SmallVectorImpl", [1 x %"union.llvm::SmallVectorBase::U"] }
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
@a = external global i32 ; <i32*> [#uses=7]
|
@a = external global i32 ; <i32*> [#uses=7]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
; Check that the redundant load from %if.then is removed.
|
; Check that the redundant load from %if.then is removed.
|
||||||
; Also, check that the debug location associated to load %0 still refers to
|
; Also, check that the debug location associated to load %0 still refers to
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
; CHECK: {{^}}for.body:
|
; CHECK: {{^}}for.body:
|
||||||
; CHECK-NEXT: [[VREG1:%[^ ]+]] = phi{{.*}}[[VREG2:%[^ ]+]],{{.*}}%.sink,
|
; CHECK-NEXT: [[VREG1:%[^ ]+]] = phi{{.*}}[[VREG2:%[^ ]+]],{{.*}}%.sink,
|
||||||
; CHECK-NOT: !dbg
|
; CHECK-NOT: !dbg
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
define i32 @f1(i32 %x) {
|
define i32 @f1(i32 %x) {
|
||||||
; CHECK-LABEL: define i32 @f1(
|
; CHECK-LABEL: define i32 @f1(
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
declare void @use(i1)
|
declare void @use(i1)
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
; expressions. As a result, the compilation never fisished.
|
; expressions. As a result, the compilation never fisished.
|
||||||
; This test checks that we are folding constant expression
|
; This test checks that we are folding constant expression
|
||||||
; PR 28418
|
; PR 28418
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
%2 = type { i32, i32, i32, i32, i32 }
|
%2 = type { i32, i32, i32, i32, i32 }
|
||||||
define i32 @_Z16vector3util_mainv(i32 %x, i32 %y) {
|
define i32 @_Z16vector3util_mainv(i32 %x, i32 %y) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
define double @test1(double %x, double %y) {
|
define double @test1(double %x, double %y) {
|
||||||
; CHECK: @test1(double %x, double %y)
|
; CHECK: @test1(double %x, double %y)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
define i1 @f(i1 %a) {
|
define i1 @f(i1 %a) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
|
target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
|
||||||
target triple = "i686-pc-windows-msvc"
|
target triple = "i686-pc-windows-msvc"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
declare void @func()
|
declare void @func()
|
||||||
declare i32 @"personality_function"()
|
declare i32 @"personality_function"()
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -S < %s -gvn | FileCheck %s
|
; RUN: opt -S < %s -passes=gvn | FileCheck %s
|
||||||
|
|
||||||
declare void @llvm.sideeffect()
|
declare void @llvm.sideeffect()
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
%struct.A = type { i32 (...)** }
|
%struct.A = type { i32 (...)** }
|
||||||
@_ZTV1A = available_externally unnamed_addr constant [3 x i8*] [i8* null, i8* bitcast (i8** @_ZTI1A to i8*), i8* bitcast (void (%struct.A*)* @_ZN1A3fooEv to i8*)], align 8
|
@_ZTV1A = available_externally unnamed_addr constant [3 x i8*] [i8* null, i8* bitcast (i8** @_ZTI1A to i8*), i8* bitcast (void (%struct.A*)* @_ZN1A3fooEv to i8*)], align 8
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; Test to make sure llvm.invariant.start calls are not treated as clobbers.
|
; Test to make sure llvm.invariant.start calls are not treated as clobbers.
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
|
|
||||||
declare {}* @llvm.invariant.start.p0i8(i64, i8* nocapture) nounwind readonly
|
declare {}* @llvm.invariant.start.p0i8(i64, i8* nocapture) nounwind readonly
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
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 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-darwin7"
|
target triple = "i386-apple-darwin7"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
; Check that an unreachable predecessor to a PHI node doesn't cause a crash.
|
; Check that an unreachable predecessor to a PHI node doesn't cause a crash.
|
||||||
; PR21625.
|
; PR21625.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
; load may be speculated, address is not null using context search.
|
; load may be speculated, address is not null using context search.
|
||||||
; There is a critical edge.
|
; There is a critical edge.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
@file_mask = external global [8 x i64], align 32
|
@file_mask = external global [8 x i64], align 32
|
||||||
|
|
||||||
define fastcc void @test() {
|
define fastcc void @test() {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
; Check that in both cases the second load is recognized as redundant
|
; Check that in both cases the second load is recognized as redundant
|
||||||
; and is removed.
|
; and is removed.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
define i32 @test1(i32* %p, i32* %q) {
|
define i32 @test1(i32* %p, i32* %q) {
|
||||||
; CHECK-LABEL: @test1(i32* %p, i32* %q)
|
; CHECK-LABEL: @test1(i32* %p, i32* %q)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:4:5"
|
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:4:5"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:4:5"
|
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:4:5"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
target datalayout = "e-p:64:64:64"
|
target datalayout = "e-p:64:64:64"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
%t = type { i32 }
|
%t = type { i32 }
|
||||||
declare void @test1f(i8*)
|
declare void @test1f(i8*)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
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-f128:128:128-n8:16:32:64"
|
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-f128:128:128-n8:16:32:64"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
target datalayout =
|
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-f128:128:128-n8:16:32:64"
|
"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-f128:128:128-n8:16:32:64"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
define i32 @test1(i32 %x, i32 %y) {
|
define i32 @test1(i32 %x, i32 %y) {
|
||||||
; CHECK: @test1(i32 %x, i32 %y)
|
; CHECK: @test1(i32 %x, i32 %y)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S -o - < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S -o - < %s | FileCheck %s
|
||||||
|
|
||||||
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 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"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;RUN: opt -gvn -S < %s | FileCheck %s
|
;RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n8:16:32-S64"
|
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n8:16:32-S64"
|
||||||
target triple = "thumbv7--linux-gnueabi"
|
target triple = "thumbv7--linux-gnueabi"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
@Data = common local_unnamed_addr global [32 x i32] zeroinitializer, align 4
|
@Data = common local_unnamed_addr global [32 x i32] zeroinitializer, align 4
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
define i1 @foo() {
|
define i1 @foo() {
|
||||||
; CHECK-LABEL: @foo(
|
; CHECK-LABEL: @foo(
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
; C source:
|
; C source:
|
||||||
;
|
;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
; CHECK-LABEL: func_fast
|
; CHECK-LABEL: func_fast
|
||||||
; CHECK: fadd fast double
|
; CHECK: fadd fast double
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
define i32 @test1(i32* %p) {
|
define i32 @test1(i32* %p) {
|
||||||
; CHECK-LABEL: @test1(i32* %p)
|
; CHECK-LABEL: @test1(i32* %p)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S -o - < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S -o - < %s | FileCheck %s
|
||||||
|
|
||||||
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"
|
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"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
; GVN should eliminate the fully redundant %9 GEP which
|
; GVN should eliminate the fully redundant %9 GEP which
|
||||||
; allows DEAD to be removed. This is PR3198.
|
; allows DEAD to be removed. This is PR3198.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
; XFAIL: *
|
; XFAIL: *
|
||||||
; FIXME: This should be promotable, but memdep/gvn don't track values
|
; FIXME: This should be promotable, but memdep/gvn don't track values
|
||||||
; path/edge sensitively enough.
|
; path/edge sensitively enough.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
define i32 @main(i32** %p, i32 %x, i32 %y) {
|
define i32 @main(i32** %p, i32 %x, i32 %y) {
|
||||||
block1:
|
block1:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt -gvn -S -o - < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S -o - < %s | FileCheck %s
|
||||||
|
|
||||||
define double @code(double* %a1) {
|
define double @code(double* %a1) {
|
||||||
; CHECK-LABEL: @code(
|
; CHECK-LABEL: @code(
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
define i32 @test1(i8* %p, i8* %q) {
|
define i32 @test1(i8* %p, i8* %q) {
|
||||||
; CHECK-LABEL: @test1(i8* %p, i8* %q)
|
; CHECK-LABEL: @test1(i8* %p, i8* %q)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt < %s -gvn -S | FileCheck %s
|
; RUN: opt < %s -passes=gvn -S | FileCheck %s
|
||||||
|
|
||||||
; loop.then is not reachable from loop, so we should be able to deduce that the
|
; loop.then is not reachable from loop, so we should be able to deduce that the
|
||||||
; store through %phi2 cannot alias %ptr1.
|
; store through %phi2 cannot alias %ptr1.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
%struct.t = type { i32* }
|
%struct.t = type { i32* }
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||||
; RUN: opt -gvn -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn -S < %s | FileCheck %s
|
||||||
|
|
||||||
; Make sure we don't delete the second vp.gather.
|
; Make sure we don't delete the second vp.gather.
|
||||||
define <vscale x 8 x i32> @foo(<vscale x 8 x ptr> %p, <vscale x 8 x i32> %x, <vscale x 8 x i1> %mask, i32 %vl) {
|
define <vscale x 8 x i32> @foo(<vscale x 8 x ptr> %p, <vscale x 8 x i32> %x, <vscale x 8 x i1> %mask, i32 %vl) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -S -gvn-hoist < %s | FileCheck %s
|
; RUN: opt -S -passes=gvn-hoist < %s | FileCheck %s
|
||||||
|
|
||||||
; Check that the call and fcmp are hoisted.
|
; Check that the call and fcmp are hoisted.
|
||||||
; CHECK-LABEL: define void @fun(
|
; CHECK-LABEL: define void @fun(
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -gvn-hoist -S < %s | FileCheck %s
|
; RUN: opt -passes=gvn-hoist -S < %s | FileCheck %s
|
||||||
|
|
||||||
; Check that convergent calls are not hoisted.
|
; Check that convergent calls are not hoisted.
|
||||||
;
|
;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; RUN: opt -S -gvn-hoist < %s | FileCheck %s
|
; RUN: opt -S -passes=gvn-hoist < %s | FileCheck %s
|
||||||
|
|
||||||
; Check that the debug info is dropped as per the debug info update guide
|
; Check that the debug info is dropped as per the debug info update guide
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue