diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-07-24 21:40:17 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-07-24 21:40:17 +0000 |
commit | cde227bc2a52c6e05c083df47eb08a01a94a09b1 (patch) | |
tree | 2b5f4d8c39d09dde0e161121b557fe8d636be38b /lib/Transforms/Utils/BuildLibCalls.cpp | |
parent | 16b7dd64e91f1b05b40ebfeb64b49f3ac17cb426 (diff) |
In order to correctly compile
struct s {
double x1;
float x2;
};
__attribute__((regparm(3))) struct s f(int a, int b, int c);
void g(void) {
f(41, 42, 43);
}
We need to be able to represent passing the address of s to f (sret) in a
register (inreg). Turns out that all that is needed is to not mark them as
mutually incompatible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160695 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/BuildLibCalls.cpp')
0 files changed, 0 insertions, 0 deletions