On Sat, May 3, 2008 at 3:13 PM, Richard Sandiford <[EMAIL PROTECTED]> wrote: > "Mohamed Shafi" <[EMAIL PROTECTED]> writes: > > The gcc port that i am currently working on has both long calls and > > short calls. If no 'shortcall' attribute is provided in the function > > declaration then calls to that function is made as long call. This is > > happening when no optimization is enabled. But when optimization is > > enabled combine pass is merging the instructions to replace the long > > call with short call. > > I assume you're currently handling this in the call and call_value > expanders? You need to handle it in the define_insns too, by making > the predicates and constraints forbid direct calls to longcall symbols. > See the MIPS port for an example. > That solved the problem. Thank you for the response.
Regards, Shafi