[TLI] Add functions determining if int parameters/returns should be zeroext/signext.
authorMarcin Koscielnicki <koriakin@0x04.net>
Mon, 21 Nov 2016 11:57:11 +0000 (11:57 +0000)
committerMarcin Koscielnicki <koriakin@0x04.net>
Mon, 21 Nov 2016 11:57:11 +0000 (11:57 +0000)
commit5ae2c526db3f5a4d3c8e0c07cbcac49a3bb9fd0a
treed642e2922d08d0477a3665ac6af1dd0cc3ef72ad
parent8462faeaba8077a9b7a29f44dd004c7bc50b1905
[TLI] Add functions determining if int parameters/returns should be zeroext/signext.

On some architectures (s390x, ppc64, sparc64, mips), C-level int is passed
as i32 signext instead of plain i32.  Likewise, unsigned int may be passed
as i32, i32 signext, or i32 zeroext depending on the platform.  Add this
information to TargetLibraryInfo, to be used whenever some LLVM pass
inserts a compiler-rt call to a function involving int parameters
or returns.

Differential Revision: http://reviews.llvm.org/D21739

llvm-svn: 287533
llvm/include/llvm/Analysis/TargetLibraryInfo.h
llvm/lib/Analysis/TargetLibraryInfo.cpp