<div dir="ltr">Patch attached.<div><br></div><div>This helps cleanup code like this:<br></div><div><br></div><div><div>declare i32 @test17x(i32)</div><div>define i32 @test17(i32 %arg) {</div><div>entry:</div><div>  %call = call i32 (...) bitcast (i32 (i32)* @test17x to i32 (...)*)(i32 %arg)</div><div>  ret i32 %call</div><div>}</div></div><div><br></div><div>by simplifying into:</div><div><br></div><div><div>define i32 @test17(i32 %arg) {</div><div>entry:</div><div>  %call = call i32 @test17x(i32 %arg)</div><div>  ret i32 %call</div><div>}</div></div><div><br></div><div>If this is not something InstCombine should do (ABI concerns perhaps?),</div><div>I suggest we add a testcase like the one included to verify and document this behavior.</div><div><br></div><div>Thanks!</div><div><br></div><div>~Will</div></div>