OSDN Git Service

[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)
commitac9341f0113d0873ba0f7729dea61b7dfc822fab
tree7d0d941518d32c077b2643eb8b2c893fb426f8e2
parent625dd9c3141dc23feed673a0dd7fe12bae6b81e8
[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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287533 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/TargetLibraryInfo.h
lib/Analysis/TargetLibraryInfo.cpp