mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
01d726ce5c
This indicates an intrinsic parameter is required to be a constant, and should not be replaced with a non-constant value. Add the attribute to all AMDGPU and generic intrinsics that comments indicate it should apply to. I scanned other target intrinsics, but I don't see any obvious comments indicating which arguments are intended to be only immediates. This breaks one questionable testcase for the autoupgrade. I'm unclear on whether the autoupgrade is supposed to really handle declarations which were never valid. The verifier fails because the attributes now refer to a parameter past the end of the argument list. llvm-svn: 355981
35 lines
1.4 KiB
LLVM
35 lines
1.4 KiB
LLVM
; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s
|
|
|
|
; CHECK: Attribute 'immarg' is incompatible with other attributes
|
|
declare void @llvm.immarg.byval(i32* byval immarg)
|
|
|
|
; CHECK: Attribute 'immarg' is incompatible with other attributes
|
|
declare void @llvm.immarg.inalloca(i32* inalloca immarg)
|
|
|
|
; CHECK: Attribute 'immarg' is incompatible with other attributes
|
|
declare void @llvm.immarg.inreg(i32 inreg immarg)
|
|
|
|
; CHECK: Attribute 'immarg' is incompatible with other attributes
|
|
declare void @llvm.immarg.nest(i32* nest immarg)
|
|
|
|
; CHECK: Attribute 'immarg' is incompatible with other attributes
|
|
declare void @llvm.immarg.sret(i32* sret immarg)
|
|
|
|
; CHECK: Attribute 'immarg' is incompatible with other attributes
|
|
declare void @llvm.immarg.zeroext(i32 zeroext immarg)
|
|
|
|
; CHECK: Attribute 'immarg' is incompatible with other attributes
|
|
declare void @llvm.immarg.signext(i32 signext immarg)
|
|
|
|
; CHECK: Attribute 'immarg' is incompatible with other attributes
|
|
declare void @llvm.immarg.returned(i32 returned immarg)
|
|
|
|
; CHECK: Attribute 'immarg' is incompatible with other attributes
|
|
declare void @llvm.immarg.noalias(i32* noalias immarg)
|
|
|
|
; CHECK: Attribute 'immarg' is incompatible with other attributes
|
|
declare void @llvm.immarg.readnone(i32* readnone immarg)
|
|
|
|
; CHECK: Attribute 'immarg' is incompatible with other attributes
|
|
declare void @llvm.immarg.readonly(i32* readonly immarg)
|