Interaction Between Compilers and Computer Architectures