r208733 - Push record return type classification into CGCXXABI
Andy Gibbs
andyg1001 at hotmail.co.uk
Thu Apr 2 01:44:59 PDT 2015
Hi Reid,
This commit from May 2014 causes a really bad regression when compiling
PowerPC code. I have submitted a bug report here:
https://llvm.org/bugs/show_bug.cgi?id=23097
I have checked and can confirm that reverting this commit fixes the
problem for me. But, since my understanding of this code is not great,
I really don't know what else might now be broken.
I assume there is a better fix than to revert your commit. Any ideas?
Thanks
Andy
> Author: rnk
> Date: Tue May 13 17:05:45 2014
> New Revision: 208733
>
> URL: http://llvm.org/viewvc/llvm-project?rev=208733&view=rev
> Log:
> Push record return type classification into CGCXXABI
>
> In the Microsoft C++ ABI, instance methods always return records
> indirectly via the second hidden parameter. This was implemented in
> X86_32ABIInfo, but not WinX86_64ABIInfo.
>
> Rather than exposing a handful of boolean methods in the CGCXXABI
> interface, we can expose a single method that applies C++ ABI return
> value classification rules.
>
> Modified:
> cfe/trunk/lib/CodeGen/CGCXXABI.h
> cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpp
> cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp
> cfe/trunk/lib/CodeGen/TargetInfo.cpp
> cfe/trunk/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
More information about the cfe-commits
mailing list