[llvm-dev] Issue with "t -> signature is meaningless, use custom typechecking"

Friedman, Eli via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 7 13:14:33 PST 2019


On 12/30/2018 6:35 PM, Dounia Khaldi via llvm-dev wrote:
> Hello,
>
> I was implementing the llvm_any_type in my intrinsic
> def int_csa_xxx :  Intrinsic<[llvm_any_ty], [llvm_i32_ty]>;
>
>  as the following in its corresponding builtins in Builtins.def:
> BUILTIN(__builtin_xxx, "v.", "nt")
>
> the "t" was sufficient here to not perform any type checking.
>
> The type checking was handled in CGBuiltin.cpp.
>
> This was working until recently.
>
> Do you know which change might have caused this?

Adding cfe-dev; generally, you'll get better responses there to 
questions about clang.

You forgot to include a description of what, exactly, is broken.

In general, you should be doing custom type-checking in 
SemaChecking.cpp; some important operations can't be performed correctly 
in CGBuiltin, like lvalue-to-rvalue conversions.

-Eli

-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project



More information about the llvm-dev mailing list