https://github.com/ojhunt requested changes to this pull request.

I would really prefer the codegen changes to be separate from the inference 
pass.

What I _really_ want is a __builtin_infer_allocation_type(expr) that somehow 
produces a human readable output - for the purpose of testing mostly as it's of 
questionable real world use. You could imagine a hypothetical case where it 
returns a human readable description of the inferred type information, and a 
developer _could_ have a custom type descriptor that was "hash the string". 
Though I remain on the "this would still be of questionable value outside of 
test" side of the fence.

Regardless, I'd then expect both `__builtin_infer_allocation_type` and 
`__builtin_infer_allocation_token` to call the same underlying inference 
routine, and just convert the output differently.

`__builtin_infer_allocation*` also need to be able to be constant evaluated so 
the can be used in consteval contexts, though that should just be a matter of 
calling the method that does the inference, and then wrapping that in the 
appropriate CE container

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

Reply via email to