From 9401181aedb28198ceac56522f997899c426fc5e Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Sat, 7 Sep 2013 00:25:48 +0000 Subject: [PATCH] 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 --- lib/IR/Verifier.cpp | 8 -------- test/Assembler/attribute-builtin.ll | 2 -- 2 files changed, 10 deletions(-) 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. -- 2.34.1