1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 12:41:49 +01:00

[test][Inliner] Make always-inline.ll work with NPM

The NPM doesn't support call-site alwaysinline as described in the comments.

Also make NPM runs more similar to legacy PM runs.

Reviewed By: ychen, asbirlea

Differential Revision: https://reviews.llvm.org/D86663
This commit is contained in:
Arthur Eubanks 2020-08-26 16:55:46 -07:00
parent 90acb0696f
commit 0ab0d3a7dd

View File

@ -1,15 +1,17 @@
; RUN: opt < %s -inline-threshold=0 -always-inline -S | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-CALL ; RUN: opt < %s -inline-threshold=0 -always-inline -enable-new-pm=0 -S | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-CALL
; ;
; Ensure the threshold has no impact on these decisions. ; Ensure the threshold has no impact on these decisions.
; RUN: opt < %s -inline-threshold=20000000 -always-inline -S | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-CALL ; RUN: opt < %s -inline-threshold=20000000 -always-inline -enable-new-pm=0 -S | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-CALL
; RUN: opt < %s -inline-threshold=-20000000 -always-inline -S | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-CALL ; RUN: opt < %s -inline-threshold=-20000000 -always-inline -enable-new-pm=0 -S | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-CALL
; ;
; The new pass manager doesn't re-use any threshold based infrastructure for ; The new pass manager doesn't re-use any threshold based infrastructure for
; the always inliner, but test that we get the correct result. The new PM ; the always inliner, but test that we get the correct result. The new PM
; always inliner also doesn't support inlining call-site alwaysinline ; always inliner also doesn't support inlining call-site alwaysinline
; annotations. It isn't clear that this is a reasonable use case for ; annotations. It isn't clear that this is a reasonable use case for
; 'alwaysinline'. ; 'alwaysinline'.
; RUN: opt < %s -passes=always-inline -S | FileCheck %s --check-prefix=CHECK ; RUN: opt < %s -inline-threshold=0 -passes=always-inline -S | FileCheck %s --check-prefix=CHECK
; RUN: opt < %s -inline-threshold=20000000 -passes=always-inline -S | FileCheck %s --check-prefix=CHECK
; RUN: opt < %s -inline-threshold=-20000000 -passes=always-inline -S | FileCheck %s --check-prefix=CHECK
define internal i32 @inner1() alwaysinline { define internal i32 @inner1() alwaysinline {
; CHECK-NOT: @inner1( ; CHECK-NOT: @inner1(