andykaylor wrote:

@Priyanshu3820 I see what's going on now. There is a tablegen-based mechanism 
for handling certain target-specific builtins that always get lowered to 
target-specific intrinsic calls. This is implemented in the incubator here: 
https://github.com/llvm/clangir/blob/d4ebb05f347d8d9d62968676d5b2bbc1338de499/clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp#L2885
 and in classic codegen here:   
https://github.com/llvm/llvm-project/blob/674b020196060f8f5fdce5961fe3b69d7009a11d/clang/lib/CodeGen/CGBuiltin.cpp#L6462

A very important part of this is that it calls 
`Intrinsic::getIntrinsicForClangBuiltin(Prefix.data(), Name);` to get the ID of 
the intrinsic to call. The implementation of this function is provided by 
table-generated code based on definitions in 
`llvm/include/llvm/IR/Intrinsics*/td`.

We do need this to be upstreamed for CIR, but it should be based closely on the 
existing implementation.

https://github.com/llvm/llvm-project/pull/177639
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to