When turning a call to a bitcast function into a direct call,
if this becomes a varargs call then deal correctly with any
parameter attributes on the newly vararg call arguments.

llvm-svn: 45931
diff --git a/llvm/test/Transforms/InstCombine/2008-01-13-NoBitCastAttributes.ll b/llvm/test/Transforms/InstCombine/2008-01-13-NoBitCastAttributes.ll
new file mode 100644
index 0000000..d791d7b
--- /dev/null
+++ b/llvm/test/Transforms/InstCombine/2008-01-13-NoBitCastAttributes.ll
@@ -0,0 +1,15 @@
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep bitcast | count 2
+
+define i32 @b(i32* inreg  %x) signext  {
+	ret i32 0
+}
+
+define void @c(...) {
+	ret void
+}
+
+define void @g(i32* %y) {
+	call i32 bitcast (i32 (i32*)* @b to i32 (i32)*)( i32 zeroext  0 )		; <i32>:2 [#uses=0]
+	call void bitcast (void (...)* @c to void (i32*)*)( i32* sret  null )
+	ret void
+}