check ast has macro pattern earlier
remove unnecessary dependences of compiler
faster InstructionSetEnum.contains