mirror of
https://github.com/RPCS3/llvm.git
synced 2025-05-16 02:16:23 +00:00

is (by default) run much earlier than FuncitonAttrs proper. This allows forcing optnone or other widely impactful attributes. It is also a bit simpler as the force attribute behavior needs no specific iteration order. I've added the pass into the default module pass pipeline and LTO pass pipeline which mirrors where function attrs itself was being run. Differential Revision: http://reviews.llvm.org/D15668 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256465 91177308-0d34-0410-b5e6-96231b3b80d8
13 lines
438 B
LLVM
13 lines
438 B
LLVM
; RUN: opt < %s -S -forceattrs | FileCheck %s --check-prefix=CHECK-CONTROL
|
|
; RUN: opt < %s -S -forceattrs -force-attribute foo:noinline | FileCheck %s --check-prefix=CHECK-FOO
|
|
; RUN: opt < %s -S -passes=forceattrs -force-attribute foo:noinline | FileCheck %s --check-prefix=CHECK-FOO
|
|
|
|
; CHECK-CONTROL: define void @foo() {
|
|
; CHECK-FOO: define void @foo() #0 {
|
|
define void @foo() {
|
|
ret void
|
|
}
|
|
|
|
|
|
; CHECK-FOO: attributes #0 = { noinline }
|