mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-19 23:23:38 -04:00
IR: add optional type to 'byval' function parameters
When we switch to opaque pointer types we will need some way to describe how many bytes a 'byval' parameter should occupy on the stack. This adds a (for now) optional extra type parameter. If present, the type must match the pointee type of the argument. Note to front-end maintainers: if this causes test failures, it's probably because the "byval" attribute is printed after attributes without any parameter after this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362012 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -41,7 +41,7 @@ declare void @ParamAttr3(i8* sret)
|
||||
declare void @ParamAttr4(i8 signext)
|
||||
; CHECK: declare void @ParamAttr5(i8* inreg)
|
||||
declare void @ParamAttr5(i8* inreg)
|
||||
; CHECK: declare void @ParamAttr6(i8* byval)
|
||||
; CHECK: declare void @ParamAttr6(i8* byval(i8))
|
||||
declare void @ParamAttr6(i8* byval)
|
||||
; CHECK: declare void @ParamAttr7(i8* noalias)
|
||||
declare void @ParamAttr7(i8* noalias)
|
||||
@@ -51,7 +51,7 @@ declare void @ParamAttr8(i8* nocapture)
|
||||
declare void @ParamAttr9(i8* nest noalias nocapture)
|
||||
; CHECK: declare void @ParamAttr10{{[(i8* sret noalias nocapture) | (i8* noalias nocapture sret)]}}
|
||||
declare void @ParamAttr10(i8* sret noalias nocapture)
|
||||
;CHECK: declare void @ParamAttr11{{[(i8* byval noalias nocapture) | (i8* noalias nocapture byval)]}}
|
||||
;CHECK: declare void @ParamAttr11{{[(i8* byval(i8) noalias nocapture) | (i8* noalias nocapture byval(i8))]}}
|
||||
declare void @ParamAttr11(i8* byval noalias nocapture)
|
||||
;CHECK: declare void @ParamAttr12{{[(i8* inreg noalias nocapture) | (i8* noalias nocapture inreg)]}}
|
||||
declare void @ParamAttr12(i8* inreg noalias nocapture)
|
||||
|
||||
Reference in New Issue
Block a user