From: Simon Atanasyan Date: Tue, 17 Jul 2012 08:15:06 +0000 (+0000) Subject: Revert commit r160308. We decide to move builtins selection to the backend. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e87f3f62bcbe8bc562c1623c9e8bb49cf31c0460;p=clang Revert commit r160308. We decide to move builtins selection to the backend. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160353 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp index 174e2cbdf5..dd04a464e1 100644 --- a/lib/CodeGen/CGBuiltin.cpp +++ b/lib/CodeGen/CGBuiltin.cpp @@ -1378,11 +1378,6 @@ Value *CodeGenFunction::EmitTargetBuiltinExpr(unsigned BuiltinID, case llvm::Triple::ppc: case llvm::Triple::ppc64: return EmitPPCBuiltinExpr(BuiltinID, E); - case llvm::Triple::mips: - case llvm::Triple::mipsel: - case llvm::Triple::mips64: - case llvm::Triple::mips64el: - return EmitMipsBuiltinExpr(BuiltinID, E); default: return 0; } @@ -2568,27 +2563,3 @@ Value *CodeGenFunction::EmitPPCBuiltinExpr(unsigned BuiltinID, } } } - -Value *CodeGenFunction::EmitMipsBuiltinExpr(unsigned BuiltinID, - const CallExpr *E) { - SmallVector Ops; - - for (unsigned i = 0, e = E->getNumArgs(); i != e; i++) - Ops.push_back(EmitScalarExpr(E->getArg(i))); - - Intrinsic::ID ID = Intrinsic::not_intrinsic; - - switch (BuiltinID) { - default: return 0; - case Mips::BI__builtin_mips_shll_qb: - llvm::APSInt Value; - if (E->getArg(1)->isIntegerConstantExpr(Value, getContext())) - ID = Intrinsic::mips_shll_qb; - else - ID = Intrinsic::mips_shll_qb_v; - break; - } - - llvm::Function *F = CGM.getIntrinsic(ID); - return Builder.CreateCall(F, Ops, ""); -} diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h index 82423f5c30..b737a9ed7a 100644 --- a/lib/CodeGen/CodeGenFunction.h +++ b/lib/CodeGen/CodeGenFunction.h @@ -2276,7 +2276,6 @@ public: llvm::Value *BuildVector(ArrayRef Ops); llvm::Value *EmitX86BuiltinExpr(unsigned BuiltinID, const CallExpr *E); llvm::Value *EmitPPCBuiltinExpr(unsigned BuiltinID, const CallExpr *E); - llvm::Value *EmitMipsBuiltinExpr(unsigned BuiltinID, const CallExpr *E); llvm::Value *EmitObjCProtocolExpr(const ObjCProtocolExpr *E); llvm::Value *EmitObjCStringLiteral(const ObjCStringLiteral *E); diff --git a/test/CodeGen/builtins-mips-ovld.c b/test/CodeGen/builtins-mips-ovld.c deleted file mode 100644 index b3460abd90..0000000000 --- a/test/CodeGen/builtins-mips-ovld.c +++ /dev/null @@ -1,13 +0,0 @@ -// REQUIRES: mips-registered-target -// RUN: %clang_cc1 -triple mips-unknown-linux-gnu -emit-llvm -o - %s | FileCheck %s - -typedef signed char v4i8 __attribute__ ((vector_size(4))); - -void foo() { - v4i8 a = {1, 2, 3, 4}; - int shift = 1; -// CHECK: {{%.*}} = call <4 x i8> @llvm.mips.shll.qb(<4 x i8> {{%.*}}, i32 1) - v4i8 r1 = __builtin_mips_shll_qb(a, 1); -// CHECK: {{%.*}} = call <4 x i8> @llvm.mips.shll.qb.v(<4 x i8> {{%.*}}, i32 {{%.*}}) - v4i8 r2 = __builtin_mips_shll_qb(a, shift); -}