Fix PR1816. If a bitcast of a function only exists because of a
authorDuncan Sands <baldrick@free.fr>
Sun, 25 Nov 2007 14:10:56 +0000 (14:10 +0000)
committerDuncan Sands <baldrick@free.fr>
Sun, 25 Nov 2007 14:10:56 +0000 (14:10 +0000)
commit827cde1c8319e51463007078a7ce3660ebc93036
treea14ff574ff8b56c6eafd7d864d2cf756451a9d8d
parent789d34f8c3d78cf439f0da2f1ba7856bdaed01a4
Fix PR1816.  If a bitcast of a function only exists because of a
trivial difference in function attributes, allow calls to it to
be converted to direct calls.  Based on a patch by Török Edwin.
While there, move the various lists of mutually incompatible
parameters etc out of the verifier and into ParameterAttributes.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44315 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ParameterAttributes.h
lib/Transforms/Scalar/InstructionCombining.cpp
lib/VMCore/Function.cpp
lib/VMCore/Verifier.cpp
test/Transforms/InstCombine/2007-11-25-CompatibleAttributes.ll [new file with mode: 0644]