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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190233
91177308-0d34-0410-b5e6-
96231b3b80d8
"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);
}
; 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-NEXT: i8* (i8*)* @car
; CHECK-BAD: Attribute 'builtin' can only be applied to a callsite.