if I modify the type of my_funct to take 3 args (int, int, float), then the type checker ( which runs before my pass for "main" ) bombs out saying that the call to "my_funct" has lesser than required parameters. Where should I be running this pass? The way it looks is that i need the pass manager to run my pass for all the functions, instead of running all the passes for each function, and then processing the next function. Is this possible to specify to the pass manager?
My guess is that you should run your pass as part of the inter-procedural analysis passes (IPA). Maybe only if flag_unit_at_a_time is set.
Paolo