OSDN Git Service

Change behavior of calling bitcasted alias functions.
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 30 Jul 2013 20:45:05 +0000 (20:45 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 30 Jul 2013 20:45:05 +0000 (20:45 +0000)
commitf34dc428fa577d6d5d71ab3a1f9765b4e5da5a4f
treea86bb2efc2858086c526b79eb798b2de2a04d3cb
parent80bec28b6645676a7cd9408d780b4c805774ef42
Change behavior of calling bitcasted alias functions.

It will now only convert the arguments / return value and call
the underlying function if the types are able to be bitcasted.
This avoids using fp<->int conversions that would occur before.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187444 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/InstrTypes.h
lib/IR/Instructions.cpp
lib/Transforms/InstCombine/InstCombineCalls.cpp
test/Transforms/InstCombine/2008-01-06-BitCastAttributes.ll
test/Transforms/InstCombine/2008-01-06-VoidCast.ll
test/Transforms/InstCombine/apint-call-cast-target.ll
test/Transforms/InstCombine/bitcast-alias-function.ll [new file with mode: 0644]
test/Transforms/InstCombine/call-cast-target.ll
test/Transforms/InstCombine/call.ll
unittests/IR/InstructionsTest.cpp