Honestly, I'm OK with all three points for hobby projects, though I try to use 8- or 32-bitters, where open source compilers are available. Full version (higher than -O1 optimizations) costs a lot of money.The free version is told to support only -O0 and -O1 optimization levels.As I was playing with my LLG project, I spent a few moments with exploring XC16 compiler.