The 'optnone' attribute means don't inline anything into this function

(except functions marked always_inline).
Functions with 'optnone' must also have 'noinline' so they don't get
inlined into any other function.

Based on work by Andrea Di Biagio.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195046 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Paul Robinson
2013-11-18 21:44:03 +00:00
parent 3560dd2dcd
commit fe45fd084d
6 changed files with 67 additions and 10 deletions

View File

@ -207,7 +207,7 @@ define void @f34()
ret void;
}
define void @f35() optnone
define void @f35() optnone noinline
; CHECK: define void @f35() #23
{
ret void;
@ -236,6 +236,6 @@ define void @f35() optnone
; CHECK: attributes #20 = { "cpu"="cortex-a8" }
; CHECK: attributes #21 = { sspstrong }
; CHECK: attributes #22 = { minsize }
; CHECK: attributes #23 = { optnone }
; CHECK: attributes #23 = { noinline optnone }
; CHECK: attributes #24 = { nobuiltin }