-fsamlpe-use and -fauto-profle are aliases, so no there is no difference.
-fprofile-sample-accurate and -fauto-profile-accurate are aliases too.
History: we first added AutoFDO support in GCC with -fauto-profile etc options. This was ported to LLVM later with new options, but the GCC flavor was kept too.
The model of using CS IRPGO alone is supported and depending on the scenarios, it may or may not perform better than regular IRPGO. In short, there is no clear advantage of using this mode.
I’ve actually found that in some scenarios, CS IRPGO has less instrumentation overhead than IRPGO due to injecting code after inlining, making it useful alone.