From: Richard Smith Date: Sat, 7 Sep 2013 00:25:48 +0000 (+0000) Subject: Remove verifier check that attribute 'builtin' is only applied to calls to X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=9401181aedb28198ceac56522f997899c426fc5e;p=oota-llvm.git 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190233 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/IR/Verifier.cpp b/lib/IR/Verifier.cpp index 3d296405b18..64b7aaa9a75 100644 --- a/lib/IR/Verifier.cpp +++ b/lib/IR/Verifier.cpp @@ -1553,14 +1553,6 @@ void Verifier::VerifyCallSite(CallSite CS) { "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); } diff --git a/test/Assembler/attribute-builtin.ll b/test/Assembler/attribute-builtin.ll index f31596ce69d..01c8a6bd865 100644 --- a/test/Assembler/attribute-builtin.ll +++ b/test/Assembler/attribute-builtin.ll @@ -28,8 +28,6 @@ define i8* @bar(i8* %x) { ; 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.