Lines Matching refs:TheCall
94 CallExpr *TheCall) { in CheckPPCBuiltinFunctionCall() argument
101 return Diag(TheCall->getBeginLoc(), diag::err_64_bit_builtin_32_bit_tgt) in CheckPPCBuiltinFunctionCall()
102 << TheCall->getSourceRange(); in CheckPPCBuiltinFunctionCall()
109 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 1) || in CheckPPCBuiltinFunctionCall()
110 SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 15); in CheckPPCBuiltinFunctionCall()
112 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 3); in CheckPPCBuiltinFunctionCall()
115 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 1); in CheckPPCBuiltinFunctionCall()
117 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 7); in CheckPPCBuiltinFunctionCall()
120 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 31); in CheckPPCBuiltinFunctionCall()
123 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 31) || in CheckPPCBuiltinFunctionCall()
124 SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 31); in CheckPPCBuiltinFunctionCall()
129 if (SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 1)) in CheckPPCBuiltinFunctionCall()
134 return Diag(TheCall->getBeginLoc(), diag::err_ppc_builtin_requires_abi) in CheckPPCBuiltinFunctionCall()
141 return SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 3); in CheckPPCBuiltinFunctionCall()
144 return BuiltinVSX(TheCall); in CheckPPCBuiltinFunctionCall()
146 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 1); in CheckPPCBuiltinFunctionCall()
148 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 2, 7); in CheckPPCBuiltinFunctionCall()
150 return SemaRef.BuiltinConstantArgRange(TheCall, 3, 0, 255); in CheckPPCBuiltinFunctionCall()
152 return SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 7); in CheckPPCBuiltinFunctionCall()
154 return SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 7); in CheckPPCBuiltinFunctionCall()
156 return SemaRef.BuiltinConstantArgRange(TheCall, 3, 0, 7); in CheckPPCBuiltinFunctionCall()
159 return SemaRef.BuiltinConstantArgRange(TheCall, 2, 1, 31); in CheckPPCBuiltinFunctionCall()
161 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 1); in CheckPPCBuiltinFunctionCall()
165 return SemaRef.ValueIsRunOfOnes(TheCall, 2); in CheckPPCBuiltinFunctionCall()
167 return SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 31) || in CheckPPCBuiltinFunctionCall()
168 SemaRef.ValueIsRunOfOnes(TheCall, 3); in CheckPPCBuiltinFunctionCall()
170 return SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 63) || in CheckPPCBuiltinFunctionCall()
171 SemaRef.ValueIsRunOfOnes(TheCall, 3); in CheckPPCBuiltinFunctionCall()
173 if (SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 3)) in CheckPPCBuiltinFunctionCall()
177 TheCall->getArg(2)->getIntegerConstantExpr(Context)->getSExtValue(); in CheckPPCBuiltinFunctionCall()
179 Diag(TheCall->getBeginLoc(), diag::warn_argument_undefined_behaviour) in CheckPPCBuiltinFunctionCall()
185 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 31); in CheckPPCBuiltinFunctionCall()
187 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 255); in CheckPPCBuiltinFunctionCall()
189 return SemaRef.BuiltinConstantArgRange(TheCall, 0, 0, 7) || in CheckPPCBuiltinFunctionCall()
190 SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 15); in CheckPPCBuiltinFunctionCall()
192 return SemaRef.BuiltinConstantArgPower2(TheCall, 0); in CheckPPCBuiltinFunctionCall()
194 return SemaRef.ValueIsRunOfOnes(TheCall, 2); in CheckPPCBuiltinFunctionCall()
197 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 1, 16); in CheckPPCBuiltinFunctionCall()
202 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 1); in CheckPPCBuiltinFunctionCall()
207 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 3); in CheckPPCBuiltinFunctionCall()
211 QualType ArgType = TheCall->getArg(0)->getType(); in CheckPPCBuiltinFunctionCall()
215 return Diag(TheCall->getBeginLoc(), in CheckPPCBuiltinFunctionCall()
217 return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 127); in CheckPPCBuiltinFunctionCall()
228 return Diag(TheCall->getBeginLoc(), diag::err_target_unsupported_type) in CheckPPCBuiltinFunctionCall()
239 for (unsigned I = 0, E = TheCall->getNumArgs(); I < E; ++I) in CheckPPCBuiltinFunctionCall()
240 if (TheCall->getArg(I)->getType() != ArgType) in CheckPPCBuiltinFunctionCall()
241 return Diag(TheCall->getBeginLoc(), in CheckPPCBuiltinFunctionCall()
243 << TheCall->getArg(I)->getType() << ArgType << 1 << 0 << 0; in CheckPPCBuiltinFunctionCall()
248 return BuiltinPPCMMACall(TheCall, BuiltinID, Types); in CheckPPCBuiltinFunctionCall()
251 return SemaRef.BuiltinConstantArgRange(TheCall, i, l, u); in CheckPPCBuiltinFunctionCall()
331 bool SemaPPC::BuiltinPPCMMACall(CallExpr *TheCall, unsigned BuiltinID, in BuiltinPPCMMACall() argument
344 TheCall->setType(type); in BuiltinPPCMMACall()
349 if (ArgNum >= TheCall->getNumArgs()) { in BuiltinPPCMMACall()
354 Expr *Arg = TheCall->getArg(ArgNum); in BuiltinPPCMMACall()
377 SemaRef.BuiltinConstantArgRange(TheCall, ArgNum, 0, Mask, true)) in BuiltinPPCMMACall()
391 if (SemaRef.checkArgCount(TheCall, ArgNum)) in BuiltinPPCMMACall()
397 bool SemaPPC::BuiltinVSX(CallExpr *TheCall) { in BuiltinVSX() argument
399 if (SemaRef.checkArgCount(TheCall, ExpectedNumArgs)) in BuiltinVSX()
403 if (!TheCall->getArg(2)->isIntegerConstantExpr(getASTContext())) in BuiltinVSX()
404 return Diag(TheCall->getBeginLoc(), in BuiltinVSX()
406 << 3 /* argument index */ << TheCall->getDirectCallee() in BuiltinVSX()
407 << SourceRange(TheCall->getArg(2)->getBeginLoc(), in BuiltinVSX()
408 TheCall->getArg(2)->getEndLoc()); in BuiltinVSX()
410 QualType Arg1Ty = TheCall->getArg(0)->getType(); in BuiltinVSX()
411 QualType Arg2Ty = TheCall->getArg(1)->getType(); in BuiltinVSX()
414 SourceLocation BuiltinLoc = TheCall->getBeginLoc(); in BuiltinVSX()
418 << TheCall->getDirectCallee() << /*isMorethantwoArgs*/ false in BuiltinVSX()
419 << SourceRange(TheCall->getArg(0)->getBeginLoc(), in BuiltinVSX()
420 TheCall->getArg(1)->getEndLoc()); in BuiltinVSX()
426 << TheCall->getDirectCallee() << /*isMorethantwoArgs*/ false in BuiltinVSX()
427 << SourceRange(TheCall->getArg(0)->getBeginLoc(), in BuiltinVSX()
428 TheCall->getArg(1)->getEndLoc()); in BuiltinVSX()
434 TheCall->setType(Arg1Ty); in BuiltinVSX()