Usually those info messages can be expanded to show which one was ignored. If it doesn't, open the Compilation report, go to Fitter -> Resource Section and in there are a table on Inputs, Outputs and Bidirs. It should have a column if the register is used. Not ideal since some of them you don't want, but it should work.
Note that I recommend against using this assignment. If you use timing constraints to constrain your design, the fitter will use I/O registers when need be.
(If it can still meet I/O requirements but move the register internal to help internal timing it will. Plus, the I/O elements have delay chains, so technically you could use an I/O register but have bad timing because of the delay chain(although this won't happen)). Most importantly, it's strongly recommended to do timing constraints on I/O regardless.