llvm-project/clang/lib
Ulrich Weigand 77ed89dbad On PowerPC64, integer arguments and return values need to be sign- or
zero-extended to 64 bits.  This information is currently provided to
the back end by setting "signext" or "zeroext" attributes.  However,
this is done only for integer types *smaller* than i32, not for i32
itself.  This causes clang to generate code violating the ABI, which
results in a failure of the tramp3d-v4 test case (due to calling a
system library routine without ABI-required extension).

This patch implements custom versions of classifyArgumentType and
classifyReturnType for PPC64_SVR4_ABIInfo, which are the same as the
default versions except that they also classify "int" and "unsigned int"
as types needing extending.  This fixed tramp3d-v4 on PowerPC64.

llvm-svn: 167393
2012-11-05 19:13:42 +00:00
..
ARCMigrate Move PreprocessorOptions into the Lex library, and make it intrusively 2012-10-24 17:01:35 +00:00
AST Remove a const_cast by propagating constness to the member function. 2012-11-03 14:24:57 +00:00
ASTMatchers Insert interception point onStartOfTranslationUnit. 2012-11-02 01:31:03 +00:00
Analysis [analyzer] add LocationContext::inTopFrame() helper. 2012-11-03 02:54:16 +00:00
Basic isLegalUTF8() was giving the wrong answer 2012-10-30 23:50:26 +00:00
CodeGen On PowerPC64, integer arguments and return values need to be sign- or 2012-11-05 19:13:42 +00:00
Driver Improve x86 android support: 2012-11-02 20:41:30 +00:00
Edit Change the representation of builtin functions in the AST 2012-08-31 00:14:07 +00:00
Frontend only truncate source lines in text diagnostics when 2012-11-03 23:56:43 +00:00
FrontendTool Split library clangRewrite into clangRewriteCore and clangRewriteFrontend. 2012-09-01 05:09:24 +00:00
Headers Add "static" to some functions in altivec.c where it was missing. 2012-10-31 18:17:07 +00:00
Lex Make the FilenameRange of the InclusionDirective callback more accurate, 2012-11-01 17:52:58 +00:00
Parse Support interleaving of other pragmas with FP_CONTRACT at the beginning of a 2012-11-03 22:29:05 +00:00
Rewrite Make DiagnosticOptions intrusively reference-counted, and make sure 2012-10-23 22:26:28 +00:00
Sema Put the usage-directive inside the nearest namespace or TU decl. We don't want 2012-11-04 20:21:54 +00:00
Serialization [libclang] Correct how the index inside the local preprocessed entities array 2012-11-02 02:31:22 +00:00
StaticAnalyzer [analyzer] Move convenience REGISTER_*_WITH_PROGRAMSTATE to CheckerContext.h 2012-11-05 16:58:00 +00:00
Tooling Make DiagnosticOptions intrusively reference-counted, and make sure 2012-10-23 22:26:28 +00:00
CMakeLists.txt Adds the AST Matcher library, which provides a in-C++ DSL to express 2012-07-06 05:48:52 +00:00
Makefile Adds the AST Matcher library, which provides a in-C++ DSL to express 2012-07-06 05:48:52 +00:00