mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
Remove verifier check that attribute 'builtin' is only applied to calls to
functions marked 'nobuiltin'. That approach doesn't play well with LTO, and there's no harm in marking a call as 'builtin' if it was going to be a builtin regardless. llvm-svn: 190233
This commit is contained in:
parent
609795bca8
commit
8f327c0a19
@ -1553,14 +1553,6 @@ void Verifier::VerifyCallSite(CallSite CS) {
|
|||||||
"Function has metadata parameter but isn't an intrinsic", I);
|
"Function has metadata parameter but isn't an intrinsic", I);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the call site has the 'builtin' attribute, verify that it's applied to a
|
|
||||||
// direct call to a function with the 'nobuiltin' attribute.
|
|
||||||
if (CS.hasFnAttr(Attribute::Builtin))
|
|
||||||
Assert1(CS.getCalledFunction() &&
|
|
||||||
CS.getCalledFunction()->hasFnAttribute(Attribute::NoBuiltin),
|
|
||||||
"Attribute 'builtin' can only be used in a call to a function with "
|
|
||||||
"the 'nobuiltin' attribute.", I);
|
|
||||||
|
|
||||||
visitInstruction(*I);
|
visitInstruction(*I);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,8 +28,6 @@ define i8* @bar(i8* %x) {
|
|||||||
|
|
||||||
; RUN: not llvm-as <%s 2>&1 | FileCheck -check-prefix=CHECK-BAD %s
|
; RUN: not llvm-as <%s 2>&1 | FileCheck -check-prefix=CHECK-BAD %s
|
||||||
|
|
||||||
; CHECK-BAD: Attribute 'builtin' can only be used in a call to a function with the 'nobuiltin' attribute.
|
|
||||||
; CHECK-BAD-NEXT: %y = call i8* @lar(i8* %x) #1
|
|
||||||
; CHECK-BAD: Attribute 'builtin' can only be applied to a callsite.
|
; CHECK-BAD: Attribute 'builtin' can only be applied to a callsite.
|
||||||
; CHECK-BAD-NEXT: i8* (i8*)* @car
|
; CHECK-BAD-NEXT: i8* (i8*)* @car
|
||||||
; CHECK-BAD: Attribute 'builtin' can only be applied to a callsite.
|
; CHECK-BAD: Attribute 'builtin' can only be applied to a callsite.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user