This patch adds codegen support to the zcmp extension.
it add is two passes:
RISCVMoveOptimizer.cpp which combines two mv inst into one cm.mva01s or cm.mva01s.
RISCVPushPopOptimizer.cpp generates and inserts push/pop instructions. In addition to that, the stack order of the eplog and prolog has been reordered for push/pop inst.