Skip pass entirely if it's not required.
Don't expand macros more than once.