phoebewang wrote:
> So the rule is essentially, you can only use fastcc if the caller and the
> callee have the same target features?
Not necessarily the same feature. Target code can decide by itself. E.g., we
only distinguish APX or not so far. If there are more in the future, we can
classify them in legacy cluster, APX cluster, other new clusters etc.
> if we're going that route, I'd like to document it, and enforce it in a more
> consistently.
Document updated.
> But I do care about other forms of consistency:
I think 1&3 are not real problems. `fastcc` are internal only calling
convention within a module. So we don't have the consistency problem;
2 only happens when users use `__attribute__((target("xxxx")))`, but user
cannot use a `xxxx` if it doesn't exist at all. As long as we define a new
`fastcc` implementation together when defining the new feature, there won't be
a problem.
https://github.com/llvm/llvm-project/pull/164768
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits