В том и смысл оптимизации... Если есть глобальная переменная, которая используется лишь в одном месте программы, и есть переменная, например, в прерывании, которая кроме него нигде не используется, то почему бы их не хранить в одном и том же месте? Конечно прерывание может сработать во время работы той функции, но раз программист сказал что эта переменная неволатильная (точнее наоборот - не сказал, что волатильная

, и хочет оптимизации, то мы пару байт сэкономим.