How to configure the optimization parts in codegen

Hi all!

I would like to know if it's possible to tell LLVM which optimizations to apply during "Scheduling Formation" (SF) and "Late Machine Code Optimizations" (LMCO).
Right now, I add 1 pass to LMCO via addPassesToEmitFile, the one that emits the file, that's it. I was wondering if there is a similar list of available passes for SF and LMCO like there is for IR passes that one can choose to apply; or is this totally the responsibility of the backend writer and I can only influence this by an optimization level or options passed to 'createTargetMachine'?

If anyone could shed some light on this it'd be much appreciated.