I think a ton of serious compilers don't go through LLVM. As always HN makes a ton of assumptions based on a small fraction of the engineering and tech world.
The compiler needs to know how to generate efficient ASM code. That may or may not involve optimizations targeting the pipeline. OP made it seem like the compiler is handling pipelining itself, vs. eg. reordering instructions.
> The person writing the compilers needs to know how the architecture works to make it possible for the pipeline to do its job.
Not really, but you will probably want to think about these things a little to optimize. The pipeline also works if you naively use it.