pub enum Missing {
OnX87,
Width,
NoRoom,
TooBig,
}Expand description
Why a parameter could not be brought in.
Variants§
OnX87
It travels on the x87 stack, which is a long double and nothing else. That stack is a
third register file, it is not one the allocator has, and no instruction in the
description touches it.
Width
It is a width no pseudo covers, which is anything a machine register does not hold.
NoRoom
It is a value that comes back in more registers than the convention returns in. A structure of at most sixteen bytes comes back in up to two, which is as many as SysV has, and a convention with fewer of them returns such a structure through a hidden pointer instead. So this is what a signature the classification did not produce would get.
TooBig
It is an object whose bytes travel in the argument area and there are more of them than a copy a word at a time is worth. Such a copy belongs in a call to the runtime, and the place this is decided is in the middle of building a call, where another one cannot go.