[test][InstCombine][NewPM] Fix InstCombine tests under NPM
Some of these depended on analyses being present that aren't provided automatically in NPM. early_dce_clobbers_callgraph.ll was previously inlining a noinline function? cast-call-combine.ll relied on the legacy always-inline pass being a CGSCC pass and getting rerun. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D88187
This commit is contained in:
		
							parent
							
								
									61d4b342d1
								
							
						
					
					
						commit
						8df17b4dc1
					
				| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
; RUN: opt < %s -always-inline -instcombine -S | FileCheck %s
 | 
					; RUN: opt < %s -instcombine -always-inline -S | FileCheck %s
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define internal void @foo(i16*) alwaysinline {
 | 
					define internal void @foo(i16*) alwaysinline {
 | 
				
			||||||
  ret void
 | 
					  ret void
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,9 +11,7 @@
 | 
				
			||||||
; no longer used function 'bar' (due to incorrect reference
 | 
					; no longer used function 'bar' (due to incorrect reference
 | 
				
			||||||
; count in the CallGraph).
 | 
					; count in the CallGraph).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
attributes #0 = { noinline norecurse nounwind readnone }
 | 
					define void @foo() {
 | 
				
			||||||
 | 
					 | 
				
			||||||
define void @foo() #0 {
 | 
					 | 
				
			||||||
; CHECK-LABEL: @foo(
 | 
					; CHECK-LABEL: @foo(
 | 
				
			||||||
; CHECK-NEXT:  entry:
 | 
					; CHECK-NEXT:  entry:
 | 
				
			||||||
; CHECK-NEXT:    ret void
 | 
					; CHECK-NEXT:    ret void
 | 
				
			||||||
| 
						 | 
					@ -23,7 +21,7 @@ entry:
 | 
				
			||||||
  ret void
 | 
					  ret void
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define internal i32 @bar() #0 {
 | 
					define internal i32 @bar() {
 | 
				
			||||||
; CHECK-NOT: bar
 | 
					; CHECK-NOT: bar
 | 
				
			||||||
entry:
 | 
					entry:
 | 
				
			||||||
  ret i32 42
 | 
					  ret i32 42
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,8 @@
 | 
				
			||||||
; because it requires more arguments and thus extra MOVs are required.
 | 
					; because it requires more arguments and thus extra MOVs are required.
 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
; RUN: opt < %s -instcombine -S | FileCheck %s
 | 
					; RUN: opt < %s -instcombine -S | FileCheck %s
 | 
				
			||||||
; RUN: opt < %s -instcombine -pgso -S | FileCheck %s -check-prefix=PGSO
 | 
					; RUN: opt < %s -instcombine -pgso -S -enable-new-pm=0 | FileCheck %s -check-prefix=PGSO
 | 
				
			||||||
 | 
					; RUN: opt < %s -passes='require<profile-summary>,function(instcombine)' -pgso -S | FileCheck %s -check-prefix=PGSO
 | 
				
			||||||
; RUN: opt < %s -instcombine -pgso=false -S | FileCheck %s -check-prefix=NPGSO
 | 
					; RUN: opt < %s -instcombine -pgso=false -S | FileCheck %s -check-prefix=NPGSO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i32, i32, [40 x i8] }
 | 
					%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i32, i32, [40 x i8] }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
; 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 -instcombine -S | FileCheck %s
 | 
					; RUN: opt < %s -instcombine -S -enable-new-pm=0 | FileCheck %s
 | 
				
			||||||
 | 
					; RUN: opt < %s -passes='require<loops>,instcombine' -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"
 | 
				
			||||||
target triple = "x86_64-unknown-linux-gnu"
 | 
					target triple = "x86_64-unknown-linux-gnu"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
; RUN: opt < %s -disable-output -branch-prob -instcombine -block-freq -verify-dom-info
 | 
					; RUN: opt < %s -disable-output -branch-prob -instcombine -block-freq -verify-dom-info
 | 
				
			||||||
; RUN: opt < %s -postdomtree -analyze | FileCheck --check-prefixes=CHECK-POSTDOM %s
 | 
					; RUN: opt < %s -postdomtree -analyze -enable-new-pm=0 | FileCheck --check-prefixes=CHECK-POSTDOM %s
 | 
				
			||||||
; RUN: opt < %s -passes='print<postdomtree>' 2>&1 | FileCheck --check-prefixes=CHECK-POSTDOM %s
 | 
					; RUN: opt < %s -passes='print<postdomtree>' 2>&1 | FileCheck --check-prefixes=CHECK-POSTDOM %s
 | 
				
			||||||
 | 
					
 | 
				
			||||||
; Demonstrate that Predicate Canonicalization (InstCombine) does not invalidate PostDomTree
 | 
					; Demonstrate that Predicate Canonicalization (InstCombine) does not invalidate PostDomTree
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue