Now, I wonder how it's possible to obtain a good result for processors
like the "good" old 6502 where most optimisations tricks are based on
dealing with zero page accessing, wrap around tricks with index
registers, self modifying code (for RAM based code), alligment of data
on page boudaries, and so on.

I ask this question because for the moment all the C (cross) compiler
that have been retargeted for the 6502 (CC65, LCC65, Quetzalcoatl,
...) produce code that is at best "bad". When I write "bad", I mean
that I usually manage to recode the same routine with a speed up
between x4 and x20 :'(

So, the question finaly is: Is it possible to apply the modern
compiler optimisation strategies to this old processor and have a
result that an experimented 6502 assembly coder would have a hard time
to beat ?