espl1000
espl1000 copied to clipboard
AVR: fix branching codegen and add simple optimizer pass
Since things like brne, brlt and such cannot really be used on their own for branches inside a function (they can only jump up to 64 instructions away), they all have to be
- inverted branch and use long jmp
or use compare skip if equal and the like and then long jump.
So the mess created by this then has to be optimized away again in some optimizer pass.